求助nginx绑定多个网站公用80端口的问题
2个回答
展开全部
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,去掉就可以解决这个问题了。
在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,去掉就可以解决这个问题了。
Storm代理
2023-07-25 广告
2023-07-25 广告
StormProxies是一家提供动态代理服务器服务的企业,旨在帮助用户更好地管理网络访问和安全。以下是一些关于StormProxies的IP动态代理服务的特点:1. 高匿名性:StormProxies的动态代理服务器具有高匿名性,可以有效...
点击进入详情页
本回答由Storm代理提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询