欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

nginx部署多个域名问题

程序员文章站 2024-02-19 23:15:46
...
小弟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
......