需求概述:
在唯一一台Nginx服务器上, 要实现让多个域名 对应 多个不同的网站,
例如:
1. 当用户输入vwhm.net, 访问到的是 /usr/local/nginx/html/vwhm_net_wwwroot 这个目录下的index.php
2. 当用户输入cn18x.com , 访问到的是 /usr/lcoal/nginx/html/cn18x_com_wwwroot 这个目录下的index.html
3. 当用户输入jhrk8.com , 访问到的是 /usr/local/nginx/html目录下的index.html
总的操作步骤只需三步:
第1步: 为每一个域名 创建一个单独的文件夹,用来存放其源码
第2步: 为每一个域名 创建一个单独的Nginx配置文件
第3步: 在Nginx总配置文件中, 引入每个域名单独的配置文件 (记得改配置文件要重启Nginx即可生效)
每一步具体操作如下:
第1步: 为每一个域名 创建一个单独的文件夹,用来存放其源码
1.1 为vwhm.net创建一个单独目录, 名称为 vwhm_net_wwwroot,
路径是: /usr/local/nginx/html/vwhm_net_wwwroot
并且将网站的源码放到该目录下(这儿我放的就是WordPress的源码了)
1.2 为cn18x.com创建一个单独的目录, 名称为cn18x_com_wwwroot,
路径是: /usr/local/nginx/html/cn18x_com_wwwroot
并且将网站的源码放到该目录下(这儿我放的就是Vue+Bootstrap写的『收藏单词』的源码)
1.3 为jhrk8.com创建一个单独的目录, 名称为jhrk8_com_wwwroot,
路径为: /usr/local/nginx/html/jhrk8_com_wwwroot
并且将网站的源码放到该目录下(这儿我放的就是Vue+Bootstrap写的『金昊融科』企业站的源码了)
第2步: 为每一个域名 创建一个单独的Nginx配置文件
2.1 在/usr/local/nginx/conf/目录下, 为vwhm.net新建一个单独的配置文件,
名称是: vhost_vwhm_net.conf
内容是:
server {
listen 80;
server_name www.vwhm.net vwhm.net;
root /usr/local/nginx/html/vwhm_net_wwwroot;
index index.html index.htm index.php;
location / {
# wordPress url rewrite
try_files $uri $uri/ /index.php?$args;
}
rewrite /wp-admin$ $scheme://$host$uri/ permanent;
#php module
location ~ \.php$ {
root html/vwhm_net_wwwroot;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /usr/local/nginx/html/vwhm_net_wwwroot$fastcgi_script_name;
include fastcgi_params;
}
}
注意: 上面vwhm.com的配置文件中高亮部分, 就是每一个配置文件不同的地方了
2.2 在/usr/local/nginx/conf/目录下, 为cn18x.com新建一个单独的配置文件,
名称是: vhost_cn18x_com.conf
内容是: 基本上跟上面一毛一样 (除了高亮部分)
2.3 在/usr/local/nginx/conf/目录下, 为jhrk8.com新建一个单独的配置文件,
名称是: vhost_jhrk8_com.conf
内容是: 基本上跟上面一毛一样 (除了高亮部分)
第3步: 在Nginx总配置文件中, 引入每个域名单独的配置文件
3.1 cd /usr/local/nginx/conf 找到Nginx总的配置文件
3.2 vi nginx.conf 打开Nginx总配置文件, include前面的3个文件, 如图所示
最终效果:
最后,重启一下Nginx, 即可生效,
输入3个域名, 效果分别如下:
未完待续,下一章节,つづく