首页 > 网站 > WEB服务 > 正文

如何解决nginx配置多个站点的共用80端口的问题

2020-03-22 16:53:01
字体:
来源:转载
供稿:网友
这篇文章主要介绍了nginx配置多个站点共用80端口的解决方法,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下

只用改一个地方,在http模块里面加入你要引用的html' target='_blank'>虚拟主机配置文件目录即可:

例如:include /usr/local/nginx/default.d/*.conf;

http { log_format main $remote_addr - $remote_user [$time_local] $request  $status $body_bytes_sent $http_referer  $http_user_agent $http_x_forwarded_for  access_log /var/log/nginx/access.log main; sendfile on; tcp_nopush on; tcp_nodelay on; keepalive_timeout 65; types_hash_max_size 2048; include /etc/nginx/mime.types; default_type application/octet-stream; include /usr/local/nginx/default.d/*.conf; //就这里加一行就可以了}

2、建立虚拟主机配置目录:

在/usr/local/nginx/下面建立default.d文件夹,专门放置网站的配置文件。

贴一个我的配置上来:

/usr/local/nginx/default.d/mytest.conf

server { listen 80 ; //注意这里,要把默认的那个default_server去掉,因为我们在下面要单独配置域名访问,所以这里不要留default_server,不然会报错。 server_name mytest.com; //这里写你想设置的域名,可以写多个,与名之间用空格隔开 root /mnt/share/mytest.com; //这里是你虚拟机的根目录,写绝对路径 # Load configuration files for the default server block. location / { index index.php index.html index.htm; //这里配置默认访问的页面 location ~* /.php$ { //这里配置php解析.php文件 fastcgi_index index.php; fastcgi_pass 127.0.0.1:9000; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param SCRIPT_NAME $fastcgi_script_name; error_page 404 /404.html; //默认的错误页面 location = /40x.html { error_page 500 502 503 504 /50x.html; location = /50x.html {}

再来一个:

server { listen 80; server_name www.mytest1.com; root /var/www/html; index index.html index.htm index.php; location / { try_files $uri $uri/ /index.php?$query_string; location = /favicon.ico { log_not_found off; location ~ /.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params;}

3、还想再建其他虚拟机,一样的,复制上面那个文件,修改我标注的的那几个地方即可!

4、虚拟机配置文件配置好了之后,还需要在linux下面的hosts文件下面加上以上域名,不然还是会访问外网的哦。

vim /etc/hosts127.0.0.1 mytest1.com127.0.0.1 mytest.com

5、如果我们是要在windows下面访问虚拟机里面的linux下面的网站,那么还要在windows下面配置hosts文件,所有的域名都指向linux服务器,例如:

192.168.0.27 mytest1.com192.168.0.27 mytest.com

6、遇到的问题:

nginx: [emerg] a duplicate default server for 0.0.0.0:80 in /etc/nginx/vhosts/

遇到这个问题,肯定是:

server { listen 80

这个地方80后面的东西都去掉,只留下端口号80,去掉就可以解决这个问题了。

以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP !

相关推荐:

Nginx配置PATHINFO隐藏thinkphp index.php

以上就是如何解决nginx配置多个站点的共用80端口的问题的详细内容,PHP教程

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表