在CentOS7上搭建PHP环境

本文介绍安装apache、nginx、mysql、php、redis,希望对读者有所帮助。

安装apache

1.下载apache安装包

httpd-2.2.31.tar.gz 安装包:[下载]
更多的版本:[去下载]

2.解压apache

tar -zxvf httpd-2.2.31.tar.gz

3.建立目标文件夹

mkdir /usr/local/apache2

安装的apache2要安装到这个文件夹里面
注意:以下所有操作都时在root用户下执行的

4.配置apache

回到原来解压之后产生的文件夹

./configure --prefix=/usr/local/apache2 --enable-module=shared

要加上后面的参数,否则无法使用php,-enable-module=shared表示Apache可以动态的加载模块

以上会出现:no acceptable C compiler found in $Path
直接运行 yum install gcc,安装Gcc即可 然后再运行 ./configure —prefix=/usr/local/apache2 —enable-module=shared

4.安装apache

make && make install

5.启动apache

先切换到安装完成后的目录/usr/local/apache2/bin
启动,重启和停止,操作如下:

./apachectl -k start
./apachectl -k restart
./apachectl -k stop  

PHP

安装5.6.24为例

1.下载php安装包

php-5.6.24 安装包:[下载]

或者:

wget http://cn2.php.net/get/php-5.6.24.tar.gz/from/this/mirror

2.安装php依赖

yum install libxml2-devel (xml)
yum install openssl-devel (https)
yum install curl-devel (curl)

3.配置php

解压mirror:tar -zxvf mirror
进入解压后的文件夹 php-5.6.24
操作:

./configure --sysconfdir=/usr/local/apache2 --with-config-file-path=/etc --enable-fpm --with-curl --with-openssl --enable-mbregex --with-mysql --with-mysqli --with-mysql-sock --enable-pdo --with-pdo-mysql --with-pdo-sqlite --enable-mysqlnd --with-zlib --enable-zip --enable-mbstring --with-apxs2=/usr/local/apache2/bin/apxs

说明:

—sysconfdir=/usr/local/apache2 =====(指定apache配置文件安装路径)
—with-config-file-path=/etc
—with-config-file-scan-dir=/etc/php.d
—enable-fpm =====(使管理员能够优雅地停止和启动PHP工作进程而不丢失任何查询)
—with-curl
—with-openssl
—enable-mbregex =====(正则)
—with-mysql
—with-mysqli
—with-mysql-sock
—enable-pdo
—with-pdo-mysql
—with-pdo-sqlite
—enable-mysqlnd
—with-zlib
—enable-zip
—enable-mbstring
—with-apxs2=/usr/local/apache2/bin/apxs

4.安装php

make && make install

5.PHP配置文件

php.ini的位置: /etc/php.ini
cp /root/php-5.6.24/php.ini-development /etc/php.ini

/usr/local/bin/php index.php //打开一个php文件
如果有这个提示:
php Warning: phpinfo(): It is not safe to rely on the system’s timezone settings.
vim /etc/php.ini
设置date.timezone = PRC

MySql

以5,6,43为例

1.下载MySql安装包

rpm文件:[下载]

或者:

下载 MySQL官方的 Yum Repository
wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm

2.yum安装

yum -y install mysql57-community-release-el7-10.noarch.rpm

3.安装MySQL服务器

yum -y install mysql-community-server

4.启动MySql

加入开机启动: systemctl enable mysqld
启动mysql服务进程: systemctl start mysqld

5.重置密码

mysql_secure_installation
过程操作:

Enter current password for root (enter for none): [直接回车]
Set root password? [Y/n] [设置root用户密码] y
Remove anonymous users? [Y/n] [删除匿名用户] y
Disallow root login remotely? [Y/n] [禁止root远程登录] n
Remove test database and access to it? [Y/n] [删除test数据库] y
Reload privilege tables now? [Y/n] [刷新权限] y

6.登陆

mysql -u root -p

如果远程登陆数据库会提示:
ERROR 1130 (HY000): Host ‘192.168.25.1’ is not allowed to connect to this MySQL server
是因为mysql默认root是本地登陆,修改root的host
update user set host = ‘%’ where user = ‘root’;
flush privileges;

Nginx

nginx-1.10.1为例

1.下载Nginx安装包

nginx-1.10.1安装包:[下载]

或者:

wget http://nginx.org/download/nginx-1.10.1.tar.gz

2.安装Nginx依赖

yum install pcre-devel
yum install zlib-devel
yum install openssl-devel
yum -y update openssl openssl-devel

2.安装Nginx

解压:tar -zxvf nginx-1.10.1.tar.gz

进入加压后的文件夹:cd nginx-1.10.1

配置:./configure --with-http_ssl_module

安装make && make install

3.启动Nginx

/usr/local/nginx/sbin/nginx

打开网页。可以看到welcome

4.打开php-fpm

复制配置文件

cp /usr/local/apache2/php-fpm.conf.default /usr/local/apache2/php-fpm.conf

开启php-fpm

/usr/local/sbin/php-fpm

检验是否开启

ps aux | grep php-fpm

5.修改nginx配置

vim /usr/local/nginx/conf/nginx.conf

添加这一代码:

location ~ \.php {
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index /index.php;
        include /usr/local/nginx/conf/fastcgi_params;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_param PATH_INFO $fastcgi_path_info;
        fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}

重启:/usr/local/nginx/sbin/nginx -s reload

nginx启动、重启和关闭

nginx 关闭
/usr/local/nginx/sbin/nginx -s quit
nginx 启动
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
ngnx 重启
/usr/local/nginx/sbin/nginx -s reload

Redis

以2.8.17版本为例

1.下载Redis

redis-2.8.17.tar.gz安装包:[下载]

或者:

wget http://download.redis.io/releases/redis-2.8.17.tar.gz

2.安装Redis

解压:tar xzf redis-2.8.17.tar.gz
进入安装包:cd redis-2.8.17
安装:make PREFIX=/usr/local/redis install

3.配置Redis文件

mkdir -p /usr/local/redis/etc
cp /root/redis-4.0.9/redis.conf /usr/local/redis/etc/

4.启动脚本

cd /root/redis-4.0.9/utils
vim redis_init_script
修改如下:

创建软链:
ln -s /usr/local/redis/etc/redis.conf /etc/redis/6379.conf

将启动脚本复制到etc中:
cp /root/redis-4.0.9/utils/redis_init_script /etc/init.d/redis

5.修改 不让占终端

vim /etc/redis/6379.conf
将 daemonize yes,如下:

6.将reids设置自启

vim /etc/init.d/redis
在第二行加一条 #chkconfig:2345 80 90,如下:

然后再输入:
chkconfig --add redis
chkconfig redis on

7.启动 Redis

/etc/init.d/redis start

8.测试 Redis

/usr/local/redis/bin/redis-cli

9.安装php redis扩展

php -m 查看是否有redis拓展
下载: wget http://pecl.php.net/get/redis-2.2.8.tgz
解压:tar -zxvf redis-2.2.8.tgz
进入安装包:cd redis-2.2.8
侦测php环境:phpize
配置:./configure --with-php-config=/usr/local/bin/php-config
如果出现下面情况:

不用管 继续下面操作。
安装:make && make install
再修改php.ini:vim /etc/php.ini
修改extension_dirextension_dir="/usr/local/lib/php/extensions/no-debug-non-zts-20131226/"
添加:extension=redis.so

然后重启服务器 和 php

10.安装 phpRedisAdmin

git clone https://github.com/ErikDubbelboer/phpRedisAdmin.git
cd phpRedisAdmin
git clone https://github.com/nrk/predis.git vendor
mv includes/config.simple.inc.php includes/config.inc.php
再nginx配置phpRedisAdmin目录,就可以访问了

Swoole

以1.9.1版本为例

1.下载 Swoole

swoole-src-1.9.1-stable安装包:[下载]

或者:

wget https://github.com/swoole/swoole-src/archive/v1.9.1-stable.tar.gz

2.安装 Swoole

解压:tar zxvf v1.9.1-stable.tar.gz
进入安装包:cd swoole-src-1.9.1-stable
侦测环境:/usr/local/php/bin/phpize
配置:./configure --with-php-config=/usr/local/php/bin/php-config
安装:make && make install

3.配置php支持swoole

vi /usr/local/php/etc/php.ini
添加一行:extension=swoole.so
然后重启php-fpm
在phpinfo页面可以看到关于swoole的选项,说明安装成功。

解决yum不能使用

  1. 没网,试着:ping www.baidu.com
    如果显示没有连接的话,就说明没网,也就无法使用yum 命令。
  2. ping通了的话,还是是用不了yum命令,说明是yum镜像没有了,那么就得下载一个来更新。
    在安装完CentOS后一般需要修改yum源,才能够在安装更新rpm包时获得比较理想的速度。国内比较快的有163源、sohu源。这里以163源为例子。
    cd /etc/yum.repos.d
    mv CentOS-Base.repo CentOS-Base.repo.backup
    wget http://mirrors.163.com/.help/CentOS6-Base-163.repo
    mv CentOS6-Base-163.repo CentOS-Base.repo
    yum clean all
    最后在使用yum 就可以了。

参考文献:
php swoole 安装与使用
CentOS7安装MySQL
安装php 5.6和redis扩展的全过程


更多资料:
php5.6 swoole(demo)小测试

1000

GS

北京 | php攻城狮

创作 35 粉丝 2

fighting