一、说明
正在尝试基于nginx+php搭建web服务器,中途遇到不少问题。挣扎了三四个小时终于完成了,这里分享下经验。
实验环境
操作系统:Ubuntu 18.04 64位
nginx:1.14.0
php:7.2.17-0
php-fram:php7.2-fpm
二、实验步骤
1、安装必要程序以及依赖
#安装程序包
sudo apt-get install php7.2
sudo apt-get install php7.2-fpm #nginx与php之间的桥梁
sudo apt-get install nginx
#安装必要依赖
sudo apt-get install php-json
sudo apt-get install php-curl
sudo apt-get install php7.2-mysql
sudo apt-get install php7.2-cgi
2、打开 http://127.0.0.1,出现下面界面则表示安装成功
有可能显示为阿帕奇主页,不要紧张,可以尝试删除 /var/www/html/index.html
3、配置php-frm
(1)编辑fpm配置文件
sudo gedit /etc/php/7.2/fpm/php.ini
#修改参数如下:
# 778行 ;cgi.fix_fathinfo=1 更改为 cgi.fix_fathinfo=0
sudo gedit /etc/php/7.2/fpm/pool.d/www.conf
#修改参数如下
# 36行 listen = 127.0.0.1:9000
# 62行 listen.allowed_clients = 127.0.0.1
# 113行 pm.max_children = 50
# 139行 pm.max_requests = 500
# 340行 request_terminate_timeout = 0
# 344行 rlimit_files = 1024
# 以上部分,包括但不限于去除前面的";"
(2)编写php测试程序
创建文件: /var/www/html/index.php,内容如下:
<h1>
<span> hello, this is test page </span>
</h1>
创建文件: /var/www/html/info.php,内容如下:
<?php phpinfo(); ?>
(3)配置nginx
sudo gedit /etc/nginx/sites-available/default
第44行,在index.html前面加入index.php
第56-62行,用如下内容替换:
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www/html/$fastcgi_script_name;
include fastcgi_params;
}
(4)重启服务
sudo service php7.2-fpm restart
sudo service nginx restart
三、检验成果
1、浏览器访问 http://127.0.0.1 或者 http://127.0.0.1/index.php
2、浏览器访问 http://127.0.0.1/info.php
3、浏览器访问 http://127.0.0.1/index.nginx-debian.html
发表评论: