CentOS 上搭建 PHP7 开发测试环境

最近公司增加了一台测试用的服务器,当然因为只是测试用,所以决定所有东西都装到一个服务器上,用来我们自己撸代码,发测试版功能,做点小实验神码的,等等等等……反正就是方便用吧,所以自己来试了下搭建一台完全的 LAMP 开发/测试环境,当然同样踩到了无数的坑。

准备开始吧!

Step.1 准备服务器

那第一步,我们先搞个服务器吧,搞啥服务器呢,既然是测试用那就搞点不要钱的,或者方便的吧,这里就推荐大家试试用 AWS 或者自己机器上搭建虚拟机,比如 Vagrant 这样的开发平台也是可以的,这里,我们就用 AWS 了,反正可以免费一年, AWS 的优点是访问国外网站超快,缺点自然是国内访问超慢,当然大家用啥都可以的啦,这里假设我们已经有一台 CentOS 7 的服务器了,并且假设你可以远程链接到这台服务器(比如 ssh )。

Setp.2 安装配置 LAMP

首先我们安装 Apache
安装 Apache 很简单,只需要通过 yum 安装就可以了。

yum install httpd

安装完成后,使用 systemctl 命令启动,并设置为开机自动启动。

systemctl start httpd.service systemctl enable httpd.service

出现问题时可以通过 systemctl status 来查看服务是否正确的启动了,也可以到 /var/log/httpd 路径下看访问日志和错误日志来排查问题。

新的 CentOS 已经装了 FirewallD 了,所以如果装了这个,我们还需要告诉 FirewallD 打开防火墙。

firewall-cmd --permanent --zone=public --add-service=http firewall-cmd --permanent --zone=public --add-service=https firewall-cmd --reload

接下来装 MySQL

首先,我们要知道的是, MySQL 没有在 CentOS 7 的软件源库里面, CentOS 7 里面有对应的替代品 MariaDB ,因为龟壳公司收购了 MySQL ,大家怕万一将来 MySQL 闭源了,那不都跪了,于是就开了个分支自己开始做起 MariaDB 来了,这里我们还是手工添加 MySQL 的软件源来安装 MySQL 保证还是那个味道。

首先添加 MySQL 的软件源。

yum install http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm

接下来安装 MySQL 的客户端和服务端。

yum install mysql-server mysql-client

安装完成后,使用 mysql_secure_installation 来完成 MySQL 的安装配置。

同样需要为 MySQL 配置防火墙。

firewall-cmd --permanent --zone=public --add-service=mysql firewall-cmd --reload

接下来我们安装 PHP 7

跟 MySQL 类似,目前发行包的软件源里面是不包含 PHP 7 ,只包含了 PHP 5.x ,所以为了安装 PHP 7 我们同样需要添加 PHP 7 的软件源,根据这几天的实验情况看, Remi 的 PHP 7 的软件包和插件比较完善,所以我们就先添加 Remi 的软件源。

yum install scl-utils yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm

添加完成软件源后,我们就可以安装 PHP 7 和各种常用的包了。

yum install php70 php70-php-mysqlnd php70-php-curl php70-php-simplexml yum install php70-php-devel php70-php-gd php70-php-json php70-php-mcrypt yum install php70-php-mbstring php70-php-opcache php70-php-pear yum install php70-php-pecl-apcu php70-php-pecl-geoip php70-php-pecl-imagick yum install php70-php-pecl-json-post php70-php-pecl-memcache php70-php-pecl-memcached yum install php70-php-pecl-xmldiff php70-php-pecl-zip php70-php-pspell php70-php-soap yum install php70-php-tidy php70-php-xml php70-php-xmlrpc

接下来呢,这里其实还没装完,因为最初我是为了升级服务器 PHP 5.x 而装的 PHP 7 ,所以如果你的服务器已经装了 PHP 5.x 需要简单的升级下,那么在这里安装完成 PHP 7 的软件包以后删除 PHP 5.x 然后在安装 php70-php 这个包。

yum remove php php-common

然后

yum install php70-php

之后修改配置文件重启 Apache 就可以了,要注意的是, PHP 7 的配置文件放到了 /etc/opt/remi/php70 路径下, PHP 7 的相关文件放到了 /opt/remi/php70/root/lib64/php 路径下。

好,这样,我们一个带着 PHP 7 的服务器就装好了,大家可以在上面自由玩耍享受 PHP 7 带来的性能。

Setp.3 安装 SASL 和 Memcached

首先 Memcached 大家都知道是什么东西了,那么我来说说 SASL 是什么鬼。 SASL 全称 Simple Authentication and Security Layer 用来做安全机制验证的,说简单点,就是用这个东西,我们可以让我们的 Memcached 在访问前需要验证下用户名密码,另外 Memcached 的 Binary 接口比需要使用 SASL 验证,否则就会输出 Writing an error: Unknown command 的错误(然而在 PHP 5.x 下,却正常。。。所以这个问题研究了好会儿)。

我们先安装 SASL 。

yum install cyrus-sasl-plain yum install cyrus-sasl-devel yum install cyrus-sasl yum install cyrus-sasl-lib yum install cyrus-sasl-gssapi yum install cyrus-sasl-md5

安装完成后,通过 systemctl start saslauthd.service 命令启动这个服务,接下来,我们需要创建一个用户通过 SASL 验证来访问 Memcached 。

首先我们要修改 SASL 的配置来使用当前 /etc/shadow 中的用户账户以及密码来进行验证,所以我们修改 /etc/sysconfig/saslauthd 中的 MECH=shadow 告诉 SASL 使用系统的账户密码来验证,修改完后通过 systemctl restart saslauthd.service 重启 SASL 的进程。

可以通过下面的命令来验证用户是否可以正确的被验证了。

/usr/sbin/testsaslauthd -u username -p password

成功将会显示 0: OK “Success.” ,要注意的是这里的 username 和 password 是需要能够正常登录系统的用户名和密码,也就是需要记录在 /etc/shadow 文件中。

接下来我们安装 Memcached 需要的 libevent 。

yum install libevent libevent-devel

再接下来,我们需要通过源代码编译安装 Memcached ,因为默认在 yum 中的 Memcached 是没有开启 SASL 验证。

wget http://memcached.googlecode.com/files/memcached-1.4.15.tar.gz tar zxvf memcached-1.4.15.tgz cd memcached-1.4.15 ./configure --enable-sasl --with-php-config=/opt/remi/php70/root/bin/php-config make make install

这样我们的 Memcached 也编译并安装完成了,接下来为 Memcached 的服务添加 SASL 验证和防火墙规则。

saslpasswd2 -a memcached -c [用来访问 memcached 用户] firewall-cmd --permanent --zone=public --add-port=11211/tcp firewall-cmd --reload

接下来我们启动 Memcached 。

/usr/local/bin/memcached -d -u [用来访问 memcached 的用户] -p 11211 -m 512 -c 1024 -S

上面参数中 -S 就是告诉 memcached 需要开启 SASL 验证。

Step.End

到此,开发环境的配置就结束了,大家愉快的玩耍吧,欢迎掷砖>_<

时间: 2024-07-30 18:21:09

CentOS 上搭建 PHP7 开发测试环境的相关文章

CentOS上搭建PHP服务器环境的步骤与方法_服务器其它

本文实例讲述了CentOS上搭建PHP服务器环境的步骤与方法.分享给大家供大家参考,具体如下: 安装apache: yum install httpd httpd-devel 启动apache: /etc/init.d/httpd start 此时输入服务器的IP地址,应该看到apache的服务页面,端口不用输,apache默认就是使用80端口 安装mysql: yum install mysql mysql-server 启动mysql: /etc/init.d/mysqld start 安装

linux-Linux上搭建安卓开发环境出错

问题描述 Linux上搭建安卓开发环境出错 在最后一步运行./studio.sh时没能打开Android Studio,提示是内部错误,请问是什么原因怎么解决? 解决方案 Linux下搭建Android开发环境 为什么要在Linux搭建开发环境呢?从直观来说,Android虚拟机在Linux下运行速度更快,而且性能更稳定. 我使用的Linux环境是ubuntu-10.10-desktop-i386.安装前所需要准备的软件: ????1. JDK(jdk-6u27-li......答案就在这里:L

在CentOS上搭建LAMP+vsftpd环境的简单指南_php技巧

VPS 可以看成是一台只有你一个人使用的服务器(事实上它是一个虚拟机),你可以在上面安装任何软件,拥有最大的权限.正所谓权限越大,责任越大,你需要自行安装 Web 服务器,数据库,PHP,还有其它一些维护工作都要自行处理. 现在大多数 VPS 提供的操作系统都是 Linux,而且是没有图形界面的的,只提 SSH 命令行接口,所以需要会一些简单的 Linux 命令行.Linux 又有众多的发行版,最好的发行版可能是 Redhat,但它是商业软件,不能免费使用,不过好在它还有一个社区版本 CentO

手把手教你搭建智能合约测试环境、开发、编译、部署以及如何通过JS调用合约方法

如何编写智能合约(Smart Contract)?(I) 完整视频教程 https://v.qq.com/x/page/h0552ba9k8h.html 学习目标 了解智能合约 简单环境搭建 能够利用solidity编写Hello World合约 合约部署 和合约互动 使用solidity语言撰写智能合约 Ethereum上的智能合约需要使用solidity语言来撰写.虽然还有其他能用来撰写智能合约的语言如Serpent(类Python).lll(类Fortran),但目前看到所有公开的智能合约

RocketMQ:一个纯java的开源消息中间件--开发测试环境搭建

一.简介     RocketMQ的前身是Metaq,当Metaq3.0发布时,产品名称改为RocketMQ     MetaQ2.x版本由于依赖了alibaba公司内部其他系统,对于公司外部用户使用不够友好,推荐使用3.0版本.      项目地址:https://github.com/alibaba/RocketMQ 二.安装RocketMQ      安装RocketMQ需要jdk1.6, maven,git环境      如果本机没有安装git,请使用如下命令安装      yum in

centos5.5下搭建python开发运行环境

首先想说的是,centos5.5操作系统版本比较老了,它默认安装了python2.4,与其相关联的如yum等,则要求必须使用python2.4.因此,在安装python更高版本时,必须要注意与老软件的兼容问题. 安装方法很简单,直接使用yum即可:  代码如下 复制代码 yum install python27 yum install python-pip 安装完成后,需要修改yum服务的scripts: 开发运行环境-python运行环境搭建">  代码如下 复制代码 vim pytho

分享几款一键搭建php本地测试环境工具

很多朋友平时电脑做服务器都是搭建iis服务器,今天我给大家分享几个一键搭建php本地测试工具!,喜欢做网站论坛的朋友为了使自己的站点能够具有独特的个性和良好的用户体验,总会对自己的站点进行一系列的深度调整,方能充分体现网站特色和唯一性,一般的PHP 本地测试环境[PHP 本地测试.本地服务器.网站制作必备工具] Wordpress 够流行了吧,它是一个用 PHP 编写的强大的博客平台.使用它来架设一个博客平 台相关容易,是新手建站比较方便的工具.但是要真正体会 WordPress(以下简称 WP

树莓派上搭建 Hadoop 集群环境的方法

最近在学习 Hadoop,正好前几天又在玩儿树莓派,查阅了一些文档,感觉在树莓派上搭建 Hadoop 集群是可行的,当然了,别对性能抱太大的希望,主要是感受一下分布式计算的魅力.在这个过程中参考了很多文档,先列在这里,基本上这些文档都非常详细了,大家可以直接参考. How to build 7 node Raspberry Pi Hadoop cluster Hadoop集群安装配置教程 Hadoop2.6.0 Ubuntu/CentOS 实验软硬件清单 以下是我的实验环境所用的硬件和软件版本清

Android 开发测试环境切换工具

1. 功能介绍 现在大多开发人员都是通过程序中 isDebug 变量表示是否是 Debug 模式,从而确定后台服务器是接入测试环境还是开发环境 那么如果没有程序代码呢?如果是已上线某个老版本呢? 这个项目的主要功能是修改 Host 文件,从而达到将对线上环境的访问全部指向到测试环境的目的 PS:手机必须开启了 Root 权限 2. 使用 在 SD 卡根目录下 Trinea 文件夹内新建文件 switch-env-host.txt,内容为测试环境和开发环境对应的 Host 在 SD 卡根目录下 T