使用的firewalld防火墙,先确定80、3306,9000端口打开。
Nginx的rewrite模块需要pcre库,ssl需要openssl库
[root@localhost src]# yum -y install zlib zlib-devel openssl openssl-devel pcre pcre-devel
查看80端口是否启动
[root@localhost nginx]# netstat -antp
有占用的杀死
[root@localhost sbin]# kill -9 PID
安装nginx
[root@localhost src]# wget http://nginx.org/download/nginx-1.11.10.tar.gz
[root@localhost src]# tar -zxvf nginx-1.11.10.tar.gz
[root@localhost src]# cd nginx-1.11.10
[root@localhost nginx-1.11.10]# ./configure --prefix=/usr/local/nginx
[root@localhost nginx-1.11.10]# make && make install
[root@localhost sbin]# cd /usr/local/nginx/sbin
[root@localhost sbin]# ./nginx
现在可以输入域名(或者公网IP)访问,跳出‘welcome to nginx‘表示nginx安装成功!
nginx现在还不能解析.php文件,我们编辑下nginx的配置文件(在nginx目录下的conf/nginx.conf)
server{
listen 80;
server_name localhost;
location/ {
root /data/www;
index index.html index.htm index.php;
}
location ~ \.php$ {
root /data/www;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_split_path_info ^((?U).+\.php)(/?.+)$;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
include /usr/local/nginx/conf/fastcgi_params;
}
我把网站的根目录设置在/data/www,大家根据需求改动。
重启一下nginx
./nginx -s reload
为了安全起见,我们创建一个组和用户,方面对data/www文件夹进行管理
首先创建data/www文件夹
[root@localhost sbin]# .cd /
[root@localhost /]# .mkdir -p data/www
创建一个叫www组
[root@localhost /]groupadd www
创建一个叫www用户属于www组,在设置密码(这设置成123456)随后输入2次
[root@localhost /]useradd -g www www
[root@localhost /]passwd www
把data/www划分给www用户并设置权限
[root@localhost /]chown -R www /data
[root@localhost /]chmod -R 777 /data
下一步开启php-fpm来解析.php
配置php-fpm
启动php-fpm,会提示找不到php-fpm配置文件
[root@localhost sbin]#cd /usr/local/php7/sbin/
[root@localhost sbin]# ./php-fpm
[19-Mar-2017 21:56:13]ERROR: failed to open config uration file '/usr/local/php7/etc/php-fpm.conf':Nosuchfileor directory (2)
[19-Mar-2017 21:56:13]ERROR: failed to load config uration file '/usr/local/php7/etc/php-fpm.conf'
[19-Mar-2017 21:56:13]ERROR: FPM initialization failed
那就复制一个配置文件出来,结果125行出错了
[root@localhost sbin]# cp /usr/local/php7/etc/php-fpm.conf.default /usr/local/php7/etc/php-fpm.conf
[root@localhost sbin]# ./php-fpm
[19-Mar-2017 21:59:13] WARNING: Nothing matchestheinclude pattern '/usr/local/php/etc/php-fpm.d/*.conf'from/usr/local/php/etc/php-fpm.confatline125.
[19-Mar-2017 21:59:13] ERROR: No pool defined.atleast one pool section must be specifiedinconfigfile
[19-Mar-2017 21:59:13] ERROR: failedtopost processtheconfiguration
[19-Mar-2017 21:59:13] ERROR: FPM initialization failed
报错信息提示在目录/usr/local/php/etc/php-fpm.d/匹配不到/usr/local/php/etc/php-fpm.d/*.conf,那就进去这个目录看一看,把里面的文件重命名一下
[root@localhost sbin]# cd /usr/local/php7/etc/php-fpm.d/
[root@localhost php-fpm.d]# cp /usr/local/php7/etc/php-fpm.d/www.conf.default /usr/local/php7/etc/php-fpm.d/www.conf
现在再来试一试咋样了
[root@localhost php-fpm.d]# cd /usr/local/php7/sbin/
[root@localhost sbin]# ./php-fpm
[root@localhost sbin]# ps aux | grep php-fpm
root 15552 0.0 0.3 260684 6932 ? Ss 16:49 0:00 php-fpm: master process (/usr/local/php7/etc/php-fpm.conf)
www 15553 0.0 0.4 260748 7576 ? S 16:49 0:00 php-fpm: pool www
www 15554 0.0 0.4 260748 7576 ? S 16:49 0:00 php-fpm: pool www
root 15781 0.0 0.0 112648 964 pts/1 R+ 19:15 0:00 grep --color=auto php-fpm
成功!