今天做个文章,希望很多新手能少走一些弯路,我也是瞎折腾了很久,网上的教程可以说是多种多样。但我感觉有些是错的有些是过时的,有些是瞎折腾的。废话不多说,马上开始。
安装Nginx
不管是Nginx还是PHP-fpm我都建议使用yum命名安装,编译安装方法复杂度会增加而且容易出错。
yum install -y nginx
完成后查看其运行状态
systemctl status nginx
然后发现并没打开服务,所以开启其服务并再次查看状态
systemctl start nginx
ps -ef | grep -v grep | grep nginx
看到:
root 2195 1 0 20:25 ? 00:00:00 nginx: master process /usr/sbin/nginx
nginx 2196 2195 0 20:25 ? 00:00:00 nginx: worker process
运行
systemctl status nginx
则看到active (running)
接下来还要将其添加到开机项
systemctl enable nginx
到这里你就可以网页验证nginx是否成功运行。
获取服务器地址(我使用的是虚拟机)
ip addr
image.png
看到欢迎页面说明安装成功
安装php-fpm
通常的做法会直接yum install php php-fpm
但是这样是安装不到最新版本的PHP,默认是5版本,所以需要改动一下
yum install php70w-fpm
php70w
php70w-bcmath
php70w-cli
php70w-common
php70w-dba
php70w-devel
php70w-embedded
php70w-enchant
php70w-fpm
php70w-gd
php70w-imap
php70w-interbase
php70w-intl
php70w-ldap
php70w-mbstring
php70w-mcrypt
php70w-mysql
php70w-mysqlnd
php70w-odbc
php70w-opcache
php70w-pdo
php70w-pdo_dblib
php70w-pear
php70w-pecl-apcu
php70w-pecl-imagick
php70w-pecl-xdebug
php70w-pgsql
php70w-phpdbg
php70w-process
php70w-pspell
php70w-recode
php70w-snmp
php70w-soap
php70w-tidy
php70w-xml
php70w-xmlrp
这样便可以直接安装到支持7.0版本的PHP的php-fpm,
查看php-fpm服务设定
systemctl list-unit-files | grep php-fpm
开启php-fpm
systemctl start php-fpm
查看其状态
systemctl status php-fpm
设为开机启动项
systemctl enable php-fpm
接下来就是要让Nginx能解析PHP文件,需要修改一些东西
找到目录文件
/etc/nginx/nginx.conf
也可以在conf.d中创建一个default.conf
/etc/nginx/conf.d/default.conf(如果没有那可以创建)
使用vi 打开
vi /etc/nginx/nginx.conf
添加index.php
原来是没有index.php但你需要添加为了让Nginx支持PHP文件
index index.php index.html index.htm;
着这里你还会注意到一个路径:root /usr/share/nginx/html;
这个是Nginx默认的存放html和你的php文件路径
接下来是打开PHP scripts to FastCGI server的注释,就是去掉#
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
#fastcgi_param SCRIPT_FILENAME
# scripts$fastcgi_script_name;
fastcgi_param SCRIPT_FILENAME /usr/share/nginx/html/$fastcgi_script_name;
include fastcgi_params;
}
在这里你会看到,我把原来的
#fastcgi_param SCRIPT_FILENAME
# scripts$fastcgi_script_name;
给注释掉
而替换成
fastcgi_param SCRIPT_FILENAME /usr/share/nginx/html/$fastcgi_script_name;
注意这里的路径/usr/share/nginx/html/
这里是php-fpm去找你的PHP文件的路径,这里错了,将会提示你找不到File not found这类问题
配置参考写法有所区别,然而也是改动这部分:
下面是所要添加和修改的
root /usr/share/nginx/html/
location / {
#定义首页索引文件的名称
index index.php index.html index.htm;
}
# PHP 脚本请求全部转发到 FastCGI处理. 使用FastCGI默认配置.
location ~ .php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
然后重启Nginx
systemctl restart nginx
然后切换到目录/usr/share/nginx/html/
创建一个php文件
vi /usr/share/nginx/html/index.php
image.png
随后在浏览器上输入http://xxx.xxx.xxx.xxx/index.php
OK,到此就完成了。本人也是新手,不喜勿喷
网友评论