nginx配置多个站点共⽤80端⼝的解决⽅法
只⽤改⼀个地⽅,在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/pes;
default_type    application/octet-stream;
include /usr/local/nginx/default.d/*.conf; //就这⾥加⼀⾏就可以了
}
2、建⽴虚拟主机配置⽬录:
在/usr/local/nginx/下⾯建⽴default.d⽂件夹,专门放置⽹站的配置⽂件。
贴⼀个我的配置上来:
/usr/local/nginx/default.f
nginx 配置文件
server {
listen    80 ;  //注意这⾥,要把默认的那个default_server去掉,因为我们在下⾯要单独配置域名访问,所以这⾥不要留default_server,不然会报错。  server_name mytest; //这⾥写你想设置的域名,可以写多个,与名之间⽤空格隔开
root    /mnt/share/mytest;  //这⾥是你虚拟机的根⽬录,写绝对路径
# 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_st1;
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/hosts
127.0.0.1  mytest1
127.0.0.1  mytest
5、如果我们是要在windows下⾯访问虚拟机⾥⾯的linux下⾯的⽹站,那么还要在windows下⾯配置hosts⽂件,所有的域名都指向linux服务器,例如:
192.168.0.27  mytest1
192.168.0.27  mytest
6、遇到的问题:
nginx: [emerg] a duplicate default server for 0.0.0.0:80 in /etc/nginx/vhosts/
遇到这个问题,肯定是:
server {
listen    80
这个地⽅80后⾯的东西都去掉,只留下端⼝号80,去掉就可以解决这个问题了。
总结
以上所述是⼩编给⼤家介绍的nginx配置多个站点共⽤80端⼝的解决⽅法,希望对⼤家有所帮助,如果⼤家有任何疑问请给我留⾔,⼩编会及时回复⼤家的。在此也⾮常感谢⼤家对⽹站的⽀持!

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。