当前位置:Gxlcms > PHP教程 > nginx部署多个域名问题

nginx部署多个域名问题

时间:2021-07-01 10:21:17 帮助过:10人阅读

小弟php初学者。
最近在nginx部署多个域名问题上纠结了很久。
nginx装在Linux虚拟机上面,想在win7的真机上输入域名显示在Linux上配置的网页。
在nginx的配置是这样的:
server {       listen       80;       server_name www.abuwo.com;       root /storage/www/abc.com;       error_page   500 502 503 504  /50x.html;       access_log logs/abc.com.access.log;       location = /50x.html {          root   html;       }       location / {           if (!-e $request_filename) {               rewrite ^/(.*)$ /index.php?/$1;           }       }       location ~*\.php$ {           try_files $uri = 404;           fastcgi_pass phpfpm;           fastcgi_index index.php;           include fastcgi.conf;       }}


回复讨论(解决方案)

配置多个server域,设置不一样的server_name 和 root ,重启就可以了(记得把 域名添加到windows的hosts文件中)

配置多个server域,设置不一样的server_name 和 root ,重启就可以了(记得把 域名添加到windows的hosts文件中)



是IP地址对应域名这样的的映射撒?
是像下面这样的么?
10.96.112.238    abc1.com10.96.112.238    abc2.com

是同一个IP地址后面接很多个不同的域名么?

配置多个server域,设置不一样的server_name 和 root ,重启就可以了(记得把 域名添加到windows的hosts文件中)



还有关于那个root的目录路径,是相对路径,还是绝对路径?
最前面是否要加 / ?

server_name www.abuwo.com;
root /storage/www/abc.com;

懂了么

步骤如下图

nginx 配置

对应的test1 和 test2 目录下有两个index.html
访问如下

server_name www.abuwo.com;
root /storage/www/abc.com;

懂了么



就是没懂才问的呀

步骤如下图

nginx 配置

对应的test1 和 test2 目录下有两个index.html
访问如下



我的nginx是搭在Linux虚拟机上的
那个root路径是怎样的?

我按照网上的教程安装了,可是一直是404 Not Found
我都不知道是什么错误。
小弟实在是弄不懂了。

我这个就是linux下,你的root 就是指向你对应网站的根目录,linux下就是以 / 开始的绝对路径

404是访问什么网址的时候发生的呢?这个比较关键。
另外,看Nginx的错误日志去,就能知道出现404时实际是请求哪个页面了。

我这个就是linux下,你的root 就是指向你对应网站的根目录,linux下就是以 / 开始的绝对路径



那如果我的页面放在 /usr/local/nginx/html/www/abc.com 里面的话,
root 就要写上面的完整路径是么?

另外,最后的 abc.com 是目录还是文件?之前有人说是文件。。
但是按您的说法是目录吧?

404是访问什么网址的时候发生的呢?这个比较关键。
另外,看Nginx的错误日志去,就能知道出现404时实际是请求哪个页面了。



不管是输入 IP 还是输入域名都显示404

看错误日志去。要善于利用系统给出的信息。

例子已经给你写了,为什么不动手试一下呢
root /usr/local/nginx/html/www/abc.com
abc.com 就是你存放网站文件的文件夹,路径也说了,是绝对路径

例子已经给你写了,为什么不动手试一下呢
root /usr/local/nginx/html/www/abc.com
abc.com 就是你存放网站文件的文件夹,路径也说了,是绝对路径



都有试呢。

例子已经给你写了,为什么不动手试一下呢
root /usr/local/nginx/html/www/abc.com
abc.com 就是你存放网站文件的文件夹,路径也说了,是绝对路径



谢谢你,已经出结果了。

如果我的 页面放在 /usr/local/nginx/html/www/abc.com 里面的话,
root 就要写上面的完整路径是么?
是的
root /usr/local/nginx/html/www/abc.com;

这个 /usr/local/nginx/html/www/abc.com 是存放网站的目录
同时有多个网站时就可能有
/usr/local/nginx/html/www/www.com
/usr/local/nginx/html/www/abc.com
/usr/local/nginx/html/www/def.com
......

人气教程排行