配置php和nginx开发环境
本文示意了在WSL中的Ubuntu
系统中配置PHP
+nginx
的开发环境为例。
一、安装
1) 更新Ubuntu
sudo apt update
sudo apt upgrade -y
2) 安装nginx
sudo apt install nginx -y
3) 安装PHP 8.1
sudo apt install php8.1 php8.1-fpm php8.1-mbstring -y
这里只安装了PHP8.1最必要的一些包。如果需要其他包,请查阅相关资料后安装。
二、配置nginx
1) 修改配置
在终端中发出下列命令,打开default
文件进行编辑。
cd /etc/nginx/sites-available
sudo cp default default.bak
sudo vim default
配置要点
- 修改
root
指令参数,使其指向你的网站根目录。 - 添加
charset
指令,指定字符集为utf-8。 - 修改
fastcgi_pass
指令参数,设置监听端口为你选定的值,例如9527。默认值是9000。
以下是我的配置文件default
,作为参考示例。
server {
listen 80 default_server;
listen [::]:80 default_server;
root /mnt/e/demosite; # or the root of your website
index index.php index.html index.htm index.nginx-debian.html;
server_name localhost;
charset 'utf-8';
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass 127.0.0.1:9527;
}
}
原来的配置文件有很多#开头的注释。可以在vim中按dd删掉它们:按dd删掉一行,按8dd可以一次删掉8行。
2) 测试配置
sudo nginx -t
如果提示信息说是成功了,那么就OK了。否则,可根据提示信息修改default
。
三、配置PHP
1) 配置fastcgi
- 修改配置
cd /etc/php/8.1/fpm/pool.d sudo cp www.conf www.conf.bak sudo vim www.conf
找到
listen
关键字(在第37行左右),用;
注释掉原来的,添加一个新行:;listen = /run/php/php8.1-fpm.sock listen = 9527
在vim中,先按ESC键,然后按:键,输入set number,回车后可以显示行号。
- 测试配置
sudo php-fpm8.1 -t
如果提示信息说是成功了,那么就OK了。否则,可根据提示信息修改
www.conf
。
2) 配置php.ini
打开/etc/php/8.1/fpm/php.ini
,将其中的一些参数修改为你的设定。
四、启动服务
1) nginx
- 启动
sudo service nginx start
- 停止
sudo service nginx stop
- 重启
sudo service nginx restart
2) 启动PHP Fastcgi
- 启动
sudo service php8.1-fpm start
如果系统提示:不能创建
/run/php/php8.1-fpm.pid
,原因可能是/run
目录下没有php
子目录。这么做:cd /run sudo mkdir php
再次启动
php-fpm8.1
服务应该能解决问题。 - 停止
sudo service php8.1-fpm stop
五、测试网站
以下测试可以在Windows中进行。
1) 测试HTML
- 编写一个
index.html
,存放在/mnt/e/demosite
下:<div>hello!</div>
-
打开浏览器,输入:http://localhost。
如果不成功,则看看是否是配置有问题。
2) 测试PHP
- 编写一个
pi.php
,存放在/mnt/e/demosite
下:<?php phpinfo(); ?>
-
打开浏览器,输入:http://localhost/pi.php。
如果不成功,则看看是否是配置有问题。
请注意观察信息中的 Loaded Configuration File 这个设置。设置值为PHP Fastcgi使用的 php.ini。你可能需要修改这个配置文件。
强烈建议测试成功后,删除这个pi.php。因为它会展示系统信息!