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

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

(0)

相关推荐

  • CentOS 7.2 下编译安装PHP7.0.10+MySQL5.7.14+Nginx1.10.1的方法详解(mini版本)

    一.安装前的准备工作 1.yum update #更新系统 2.yum install gcc gcc-c++ autoconf automake cmake bison m4 libxml2 libxml2-devel libcurl-devel libjpeg-devel libpng-devel libicu-devel #安装php.MySQL.Nngix所依赖的包 3.下载以下包 #我把所有源文件都下载在root目录,读者可自行修改源文件存放目录 3.1 libmcrypt-2.5.8

  • CentOS 7.2.1511 编译安装Nginx1.10.1+MySQL5.7.14+PHP7.0.11

    准备篇 一.防火墙配置 CentOS 7.x默认使用的是firewall作为防火墙,这里改为iptables防火墙. 1.关闭firewall: systemctl stop firewalld.service #停止firewall systemctl disable firewalld.service #禁止firewall开机启动 2.安装iptables防火墙 yum install iptables-services #安装 vi /etc/sysconfig/iptables #编辑

  • centos7 + php7 lamp全套最新版本配置及mongodb和redis教程详解

    所有软件的版本一直会升级,注意自己当时的版本是不是已经更新了. 首先装centos7 如果你忘了设置swap分区,下面的文章可以教你怎么补一个上去: http://www.jb51.net/os/201409/338170.html 装好centos7后默认是不能上网的 cd /etc/sysconfig/network-scripts/ 找到形如ifcfg-enp0s3的文件,修改onboot=yes 然后 service network restart 安装apache2 (centos里叫

  • CentOS下PHP7的编译安装及MySQL的支持和一些常见问题的解决办法

    最近试了一下PHP7,在编译和支持MySQL上都遇到一些问题,相信不少同学也同样遇到,所以在这里聊一下这个过程.简单来讲编译PHP7只需要3步: 1../buildconf --force 2../configure 3.make && make install 1.3步,都没啥好管的,configure是编译的关键,涉及到PHP对一些库的支持,这里我们使用最小的支持,包括MySQL: curl gd fpm mysqlnd 之所以把curl和gd拿来说,目的是要搞清楚,这些三方库在编译P

  • CentOS 上搭建 PHP7 开发测试环境

    最近公司增加了一台测试用的服务器,当然因为只是测试用,所以决定所有东西都装到一个服务器上,用来我们自己撸代码,发测试版功能,做点小实验神码的,等等等等--反正就是方便用吧,所以自己来试了下搭建一台完全的 LAMP 开发/测试环境,当然同样踩到了无数的坑. 准备开始吧! Step.1 准备服务器 那第一步,我们先搞个服务器吧,搞啥服务器呢,既然是测试用那就搞点不要钱的,或者方便的吧,这里就推荐大家试试用 AWS 或者自己机器上搭建虚拟机,比如 Vagrant 这样的开发平台也是可以的,这里,我们就

  • 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上搭建一个Java部署环境的详细步骤

    目录 在Linux上搭建一个Java部署环境 1. 安装jdk 2.操作步骤: 3. 安装mysql 小结 上篇介绍了如何在 Linux 上搭建 java 部署环境(安装jdk/tomcat/mysql) + 将程序部署到云服务器上的操作). 在Linux上搭建一个Java部署环境 为了部署java web程序,需要安装:jdk.tomcat.mysql.(注意:所有的安装yum都需要管理员权限) 1. 安装jdk 安装jdk有很多种方式,但是我们这里推荐的是使用yum直接安装openjdk.

  • Linux搭建C++开发调试环境的方法步骤

    安装g++ Linux编译C++程序必须安装g++编译器.这里使用yum方式安装.首先切换到root账号,su - root 然后输入密码. 执行yum install gcc-c++(注意不是yum install g++),报错. 报错是因为yum需要配置正确的服务器地址,服务器是提供yum安装包的,也被称作yum源.配置yum源的配置文件在/etc/yum.repos.d/目录下,可以看到系统自带了两个文件. cat 文件名称,会打印文件全部内容.可以看到两个文件要么没配置,要么地址是无法

  • Almp 安卓系统上搭建本地php服务器环境的步骤

    在网上找到安卓系统的PHP+MySQL环境,甚是喜欢,拿来修改.试用了一番.已经实现在安卓手机上搭建Web服务端,并且支持WordPress.Discuz.Phpmyadmin的运行.目前正在考虑,利用手机可以建立WiFi热点这个特性,随时随地宣传网站:比如在机场.图书馆.教学楼.火车站等人口密集处,建立无密码的WiFi热点和Almp,然后等鱼上钩. 先来看看我的折腾成果: 1.先来一张PHP探针:基本都是手机的信息,这里要提醒一下,如果手机运行内存不足512MB,运行这东西还是非常吃力的 2.

  • 在CentOS上搭建LAMP+vsftpd环境的简单指南

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

  • CentOS上搭建Nginx+Mono运行asp.net环境的配置方法

    安装步骤: 一.获取开源相关程序: 1.利用CentOS Linux系统自带的yum命令安装.升级所需的程序库: sudo -s LANG=C yum -y install gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bz

  • 在VS Code上搭建Python开发环境的方法

    1.下载安装 python https://www.python.org/downloads/windows/ web-based installer 在线安装 executable installer exe安装 embeddable zip file 内嵌版本 python的安装步聚可以参考http://www.jb51.net/article/136324.htm,注意安装后配置 path 2.下载安装VS Code https://code.visualstudio.com/Downlo

  • 利用Nginx反向代理与负载均衡搭建多人测试环境详解

    前言 假如我们使用 git 进行版本控制,在一个大型网站中,开发人员在不同的分支上开发不同的需求,当一个需求开发完成需要测试,我们会把这个分支告诉测试人员,然后测试人员在测试机的网站目录拉取这个分支进行测试. 设想这样一个场景:当只有一个分支提测的时候,在测试机上可以直接拉取这个分支的代码进行测试,但是如果同时有多个分支都要同时进行测试,那么就没办法在一台测试机上同时进行了. 因为这台测试机网站目录只有一个,我们无法同时拉取不同分支的代码,那么如何在一台测试机上同时支持多人测试不同的分支呢? 实

  • Windows下搭建FFmpeg开发调试环境的详细步骤

    目录 背景 步骤 一.安装VS 2017 二.安装 YASM 与 NASM 三.创建正确的目录层次 四.下载源码和相关依赖 五.编译与调试 ⏭️ 一键部署脚本 背景 如果你是一个FFmpeg的使用者,那么绝大部分情况下只需要在你的程序中引用FFmpeg的libav*相关的头文件,然后在编译阶段链接相关的库即可. 但是如果你想调试FFmpeg内部相关的逻辑,或者分析FFmpeg源码,那么有一个可供单步调试FFmpeg的环境往往能使你事半功倍! 要说Windows下做C/C++开发用哪个IDE最强大

随机推荐