服务器 
首页 > 服务器 > 浏览文章

nginx配置多个站点共用80端口的解决方法

(编辑:jimmy 日期: 2024/11/17 浏览:3 次 )

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

例如: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"htmlcode">
vim /etc/hosts
127.0.0.1  mytest1.com
127.0.0.1  mytest.com

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

192.168.0.27  mytest1.com
192.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,去掉就可以解决这个问题了。

总结

以上所述是小编给大家介绍的nginx配置多个站点共用80端口的解决方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!

上一篇:Centos7.4 zabbix3.4.7源码安装的方法步骤
下一篇:Nginx服务状态监控的方法
Windows上运行安卓你用过了吗
在去年的5月23日,借助Intel Bridge Technology以及Intel Celadon两项技术的驱动,Intel为PC用户带来了Android On Windows(AOW)平台,并携手国内软件公司腾讯共同推出了腾讯应用宝电脑版,将Windows与安卓两大生态进行了融合,PC的使用体验随即被带入到了一个全新的阶段。