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对应的站点

nginx 使用一个端口配置多个java项目 nginx添加多个端口_nginx

2.xx.conf对应的站点

nginx 使用一个端口配置多个java项目 nginx添加多个端口_nginx_02

注意访问的地址。

===========卧室分割线============

说下自己踩的坑

1.网上很多新建vhost文件夹,其实和conf.d文件夹类似,还得在nginx.conf中增加一行include。要命的是带入虚拟主机这样一个概念,nginx的书才啃了一章还压在那,又来一个概念,很晕;

nginx 使用一个端口配置多个java项目 nginx添加多个端口_根目录_03

2.弄清了nginx.conf起的总开关作用后,觉得仿照default建一个文件,里面放server的内容就行,试了很多次,当时各种没通,所以一直带着怀疑人生的感觉再继续弄,最后实在不行了,死马当活马。将那个仿default的文件mv到conf.d中,顺便加个.conf后缀,结果行了。。。更怀疑人生了,写完这个再探究一下。

3.新建的.conf文件还有访问拒绝的错误,因为跟着网上将

fastcgi_pass 127.0.0.1:9000;

注释消掉了,昨天的网站是没问题的,当时又瓜了。结果小心翼翼将这个继续注释掉,结果成了。。。

查了下大概是nginx和php的通信端口,比较复杂,高级点的后面跟着了解nginx一起深入再了解。