nginx可能版本跟他们的有点不一样,因此nginx重要的两个文件,nginx.conf和site_avaliable里面的default有点不一样。
先说我的方法。
1.将site_avaliable里面的default复制改名到conf.d文件夹中,改名为xx.conf
2.修改这个xx.conf最前面,注意重点部分
server {
listen 8090; ##重点!!!你希望的端口号!!!
#listen [::]:80 default_server;
3.修改里面全部的root对应的根目录位置,大概有3处。
root /var/www/abc; ####新的根目录位置
4.site_avaliable文件夹里面还有个default文件,默认是80端口监听,可以不改;
5.用命令 重启
sudo /etc/init.d/nginx restart
OK,放一个test.php文件到新的根目录下测试。
图1:default对应的站点
2.xx.conf对应的站点
注意访问的地址。
===========卧室分割线============
说下自己踩的坑
1.网上很多新建vhost文件夹,其实和conf.d文件夹类似,还得在nginx.conf中增加一行include。要命的是带入虚拟主机这样一个概念,nginx的书才啃了一章还压在那,又来一个概念,很晕;
2.弄清了nginx.conf起的总开关作用后,觉得仿照default建一个文件,里面放server的内容就行,试了很多次,当时各种没通,所以一直带着怀疑人生的感觉再继续弄,最后实在不行了,死马当活马。将那个仿default的文件mv到conf.d中,顺便加个.conf后缀,结果行了。。。更怀疑人生了,写完这个再探究一下。
3.新建的.conf文件还有访问拒绝的错误,因为跟着网上将
fastcgi_pass 127.0.0.1:9000;
注释消掉了,昨天的网站是没问题的,当时又瓜了。结果小心翼翼将这个继续注释掉,结果成了。。。
查了下大概是nginx和php的通信端口,比较复杂,高级点的后面跟着了解nginx一起深入再了解。