求助nginx绑定多个网站公用80端口的问题

如题所述

1、修改主配置文件:只用改一个地方:
在http模块里面加入你要引用的虚拟主机配置文件目录即可:
例如:include /etc/nginx/vhosts/chaodiquan.com.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 /etc/nginx/vhosts/*.conf; //就这里加一行就可以了
}
2、建立虚拟主机配置目录:
都是在/etc/nginx/ 下面建立vhosts 文件夹,专门放置网站的配置文件:/etc/nginx/vhosts/chaodiquan.com.conf
server {
listen 80 ; //注意这里,要把默认的那个default_server去掉,因为我们在下面要单独配置域名访问,所以这里不要留default_server,不然会报错。
server_name chaodiquan.com 多个的域名.com; //这里写你想设置的域名,可以写多个,与名之间用空格隔开
root /mnt/share/chaodiquan.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 {
}
}
3、还想再建其他虚拟机,一样的,复制上面那个文件,修改我标注的的哪几个地方即可!
4、虚拟机配置文件配置好了之后,还需要在linux下面的hosts文件下面加上以上域名,不然还是会访问外网的哦。
127.0.0.1 依次对应的你的域名
5、如果我们是要在windows下面访问虚拟机里面的linux下面的网站,那么还要在windows下面配置hosts文件,所有的域名都指向linux服务器,例如:
192.168.2.111 你自己的域名.com

遇到的问题:
nginx: [emerg] a duplicate default server for 0.0.0.0:80 in /etc/nginx/vhosts/1

遇到这个问题,肯定是:
server {
listen 80

}
这个地方80后面的东西都去掉,只留下端口号80,去掉就可以解决这个问题了。
温馨提示:内容为网友见解,仅供参考
第1个回答  2017-12-12
这就是一个虚拟主机配置的问题.
请百度搜索"nginx 虚拟主机配置"就可以找到答案.

Nginx配置80端口用于多个域名
80端口是可以通过域名直接访问的(无需加端口),正常80端口只能使用于一个域名,但通过nginx配置可以实现多个。以阿里云ECS服务器为例,通过命令安装nginx后,打开nginx配置文件 按以下方式配置多个域名跳转 2、 按配置的路径上传源码 3、 在阿里云ecs服务器上安全组配置,开放配置的端口。路径 ECS服务 - ...

...个网站,分别在不同电脑上,想共用公网地址的80端口,要怎么处理呢...
只要入口是不同的公网地址就可以了

nginx转发多个端口?
nginx如果检测到vue.msg.com的请求,将原样转发请求到本机的8080端口,如果检测到的是react.msg.com请求,也会将请求转发到8081端口。这样nginx对外就有四个服务,我们只需要公布80端口的就可以了,这样就实现了多个服务共用80端口。nginx配置多个https端口https配置对于Nginx来说是很常见的,不管是多个端口...

一台服务器,一个ip地址,能建几个网站?80端口不会冲突吗?
具体能支撑多少个网站,看你的服务器配置,代码质量,一般一台4核8GB的机器可以承载QPS500到2000左右,80端口冲突的问题,可以使用域名解决,如果是LNMP或者LAMP架构,可以在nginxapache上配置多域名,其他的比如go,java,c++等项目可以启动在不同端口,通过nginx做反向代理 ...

nginx占用了80端口,iis想同时使用80端口,怎么配置
可以用集成环境PHPWAMP8.8.8.8n,自带去端口功能,可以实现iis和nginx共用80端口,点击菜单常用工具里面有一键去端口 windows服务器可以用phpwamp8.8.8.8n,这个环境的NGinx站点管理很强大 以下内容摘自今日头条里的文章 小编发现最近PHPWAMP集成环境的作者Lccee,又更新了phpwamp8.8.8.8n版本 phpwamp8.8...

解决nginx和宝塔搭建的Web网站端口冲突
为了解决同时访问nginx服务和Web网站的问题,只需修改nginx服务端口即可。具体步骤如下:找到nginx.conf配置文件,进入文件中将listen监听的80端口改为其他端口,如8080或其他不常用端口。注意修改后的端口需在服务器安全组中开放。完成配置修改后,回到nginx的sbin目录重启nginx服务,再次查看当前占用nginx的进程...

只有一个外网ip地址,如何实现局域网不同服务器的80端口访问?
2台电脑?你有2个外网可以访问的真实域名吧?那就用(互联网INP协议)把域名分别绑定在不同的电脑上,外网就可以直接访问了。

linux nginx的端口问题,我要把默认的80端口改成8088,报错
ps -ef | grep nginx 查看进程号 kill -9 进程号 杀掉进程 \/usr\/local\/nginx\/sbin\/nginx 重启服务 看看这个端口被什么进程占用 然后杀死进程 可以查看下80端口被哪个程序占用,把占用端口的程序关闭即可。查看端口占用命令

nginx与iis能够公用80端口吗
可以nginx监听80,IIS监听其他端口 根据策略(例如域名、url等),让nginx将请求转到IIS的端口

域名已备案,但80端口无法访问,8080端口却可以?为什么啊?
服务器的IP地址80端口是否可以访问。如果不能访问,则确定与域名解析无关。如果可以访问,则需进一步考虑:如果是解析到个人电脑上,在全国大部分地区是不行的。宽带服务商禁用了个人宽带连接的80服务端口。如果域名解析到商用服务器,IP地址:80无法访问,可以与服务提供商联系。如果IP地址:80可以访问,而...

相似回答