一、说明
正在尝试基于nginx+php搭建web服务器,中途遇到不少问题。挣扎了三四个小时终于完成了,这里分享下经验。
实验环境:
- 操作系统:Ubuntu 18.04 64位
- nginx:1.14.0
- php:7.2.17-0
- php-fram:php7.2-fpm
二、实验步骤
安装必要程序以及依赖
1
2
3
4
5
6
7
8
9
10#安装程序包
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打开 http://127.0.0.1,出现下面界面则表示安装成功
有可能显示为阿帕奇主页,不要紧张,可以尝试删除 /var/www/html/index.html配置php-frm
编辑fpm配置文件
1
2
3
4sudo gedit /etc/php/7.2/fpm/php.ini
#修改参数如下:
# 778行 ;cgi.fix_fathinfo=1 更改为 cgi.fix_fathinfo=01
2
3
4
5
6
7
8
9
10sudo 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
# 以上部分,包括但不限于去除前面的";"编写php测试程序
创建文件: /var/www/html/index.php,内容如下:
1 | <h1> |
创建文件: /var/www/html/info.php,内容如下:
1 | <?php phpinfo(); ?> |
- 配置nginx第44行,在index.html前面加入index.php
1
sudo gedit /etc/nginx/sites-available/default
第56-62行,用如下内容替换:
1 | location ~ \.php$ { |
- 重启服务
1
2sudo 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