跳至主要內容

分布式安装php和nginx,使其作为web服务器

酷丁大约 2 分钟phpnginxwebserverlinuxcentosinstall

本章中服务器的ip地址分别为:

服务器ip地址
nginx192.168.200.50
php-fpm192.168.200.60

安装nginx

书本上建议通过源码编译的方式安装nginx,但是我觉得这样太麻烦了,而且容易出错,因此我选择通过yum安装nginx。

设置EPEL源:

[root@localhost ~]# yum install epel-release yum-utils

添加和启动Remi源:

[root@localhost ~]# yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm

安装nginx:

[root@localhost ~]# yum install nginx

配置nginx

修改nginx.conf文件,将user的值改为nginx,修改location的值为/var/www/html(存放网页的文件夹)。在index中添加index.php,使得nginx可以解析php文件。修改php$root的值为存放网页的文件夹,fastcgi_pass的值为192.168.200.60:9000(php-fpm的地址),fastcgi_index的值为index.php,fastcgi_param的值为SCRIPT_FILENAME $document_root$fastcgi_script_name,include的值为fastcgi_params

接着在fastcgi_params文件中添加fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

安装php

书本上建议通过源码编译的方式安装php,但是我觉得这样太麻烦了,而且容易出错,因此我选择通过yum安装php。

安装php及其组件:

[root@localhost ~]# yum install -y php56-php-fpm php56-php-cli php56-php-bcmath php56-php-gd php56-php-json php56-php-mbstring php56-php-mcrypt php56-php-mysqlnd php56-php-opcache php56-php-pdo php56-php-pecl-crypto php56-php-pecl-mcrypt php56-php-pecl-geoip php56-php-pecl-swoole php56-php-recode php56-php-snmp php56-php-soap php56-php-xmll

启用php-fpm:

[root@localhost ~]# systemctl enable php56-php-fpm
[root@localhost ~]# systemctl start php56-php-fpm

你可以通过以下命令配置php-fpm:

find /etc/opt/remi/php56 -name php.ini
find /etc/opt/remi/php56 -name www.conf

为Nginx和php创建用户和组

在两台机器中都执行以下命令:

[root@localhost ~]# groupadd -g 1001 nginx
[root@localhost ~]# useradd -u 900 -s /sbin/nologin nginx -g nginx

配置php-fpm

修改/etc/opt/remi/php56/php-fpm.d/www.conf文件,将listen.allowed_clients的值改为192.168.200.50

创建测试文件

在两台机器中/var/www/html文件夹下创建index.php文件,内容如下:

<?php
phpinfo();
?>

/var/www/html文件夹设置权限:

[root@localhost ~]# chown -R nginx:nginx /var/www/html

访问192.168.200.50,如果出现php的信息,则说明安装成功。