一、在上一篇转载的文章里经过部分修改添加已经完整的呈现了怎么搭建Ubuntu18.04下的PHP运行环境,这里我们再通过创建一个目录,然后让nginx的某个前缀指向这个目录,而VSCode则以这个目录为工作空间来实现VSCode编码,网页访问实时生效;
二、目标是让访问/php-demo/xxx转发到本地的/home/silentdoer/PhpProjects/php-demo/xxx,步骤:
1.修改nginx的nginx.conf配置,添加一个server,如下:
server { listen 80 default_server; location ^~ /php-demo/ { if ($fastcgi_script_name ~ /php-demo/(.+.php.*)$) { set $valid_fastcgi_script_name $1; # 将上面的正则匹配的group 1赋值到$valid_fastcgi_script_name里 } fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME /home/silentdoer/PhpProjects/php-demo/$valid_fastcgi_script_name; include fastcgi_params; } }
【重要】这里注意要注释掉sites-available/default里的server(至少把listen 80 default_server换成listen 80;nginx不允许同时存在两个端口一样的default_server),因为我们没有弄server_name,所以80端口请求只会跑到一个server里去,不去掉default的
那么我们在nginx.conf的配置的server就没法得到转发就会报404错误;这里解决办法还可以是将上面的location配置直接配置到default的server里也可以,或者将default里的其他配置复制到nginx.conf里来,又或者我们配置一下server_name,在请求php-demo时指定Host也可以;
2.执行nginx -s reload一下,接着就可以用VSCode打开php-demo目录来写demo项目代码了(安装一下PHP的插件);
3.每次写完保存后,可以直接通过访问http://localhost/php-demo/xxx.php来实时看是否正确。
4.把项目完整写好后,就可以将项目复制到发布目录,然后再配置一下nginx即可;