nginx 配置多域名多站点 Ubuntu

nginx 配置多域名多站点 Ubuntu

一、安装 nginx

apt install nginx

二、配置文件说明

nginx 的配置文件在 /etc/nginx 目录下,它的默认内容是这样的

root@2bd0:/etc/nginx# ll
total 72
drwxr-xr-x   8 root root 4096 Jul 31 15:21 ./
drwxr-xr-x 104 root root 4096 Aug  1 09:54 ../
drwxr-xr-x   2 root root 4096 Nov 10  2022 conf.d/
-rw-r--r--   1 root root 1077 Feb  4  2019 fastcgi.conf
-rw-r--r--   1 root root 1007 Feb  4  2019 fastcgi_params
-rw-r--r--   1 root root 2837 Feb  4  2019 koi-utf
-rw-r--r--   1 root root 2223 Feb  4  2019 koi-win
-rw-r--r--   1 root root 3957 Feb  4  2019 mime.types
drwxr-xr-x   2 root root 4096 Nov 10  2022 modules-available/ # 
drwxr-xr-x   2 root root 4096 Jul 31 15:21 modules-enabled/

-rw-r--r--   1 root root 1490 Feb  4  2019 nginx.conf   
# 默认 配置文件,一般不需要修改这个文件,为了方便管理,它会包含下面 sites-enabled 内的所有内容

-rw-r--r--   1 root root  180 Feb  4  2019 proxy_params
-rw-r--r--   1 root root  636 Feb  4  2019 scgi_params

drwxr-xr-x   2 root root 4096 Aug  1 09:06 sites-available/
# 所有可用的站点配置文件,启用和未启用的一般都放这里面,看名字就知道什么意思

drwxr-xr-x   2 root root 4096 Aug  1 09:07 sites-enabled/
# 所有已启用的都在这个文件夹中,一般是一些链接文件

drwxr-xr-x   2 root root 4096 Jul 31 15:21 snippets/
-rw-r--r--   1 root root  664 Feb  4  2019 uwsgi_params
-rw-r--r--   1 root root 3071 Feb  4  2019 win-utf

三、配置多域名多站点

讲一下如何一个服务器配置多域名多站点。
多站点的实现方式有几种:

  • 多域名、多站点
  • 多端口、多站点

比如 a.com b.com 都指向了服务器 1.2.3.4,我们需要实现的是在访问这两个域名的时候出现的是不同的网站,他们都服务在 80 端口,也就是说不需要像 a.com:8080 b.com:8081 这样访问,而直接是 a.com 访问时出现一个网站,b.com 访问时出现另一个网站。

nginx 的默认网站文件在 /var/www/html 文件夹中,一般没有特殊要求不需要修改,直接把文件放到这个目录中使用就好。

1. 创建站点配置文件

/etc/nginx/sites-available 文件夹中添加一个 a.com 的文件

cd /etc/nginx/sites-available
vi a.com

添加以下内容:

server {
    listen       80;    # 监听 80 端口,但只有用 a.com 访问的时候才会匹配到这个配置
    server_name  a.com; # 这里是 a.com 的域名

    root   /var/www/html/a.com; # 这里是 a.com 的根目录
    index  index.html index.htm;
}

同理 b.com 也一样

此时, sites-available 中已经两个文件

a.com
b.com

2. 启用站点配置文件

有个知识点需要说明一下。当你查看 nginx.conf 的时候,能看到这么一句,如下图。
意思是包含 site-enabled/ 下面的所有配置
nginx 配置多域名多站点 Ubuntu_第1张图片

上面我们已经在 sites-available 目录中创建了两个网站。现在我们需要在 sites-enabled 文件夹中创建这两个配置文件的链接文件,链接文件的意思跟 Windows 桌面中的快捷方式差不多,就是个链接。但使用的时候跟使用源文件一样。

cd /etc/nginx/sites-enabled
ln -s ../sites-available/a.com a.com
ln -s ../sites-available/b.com b.com

这样就会在 sites-enabled 文件夹中创建了两个链接文件。这样就相当于 sites-enabled 目录中有了两个跟 sites-available 目录一模一样的文件

像这样
在这里插入图片描述

3. 重启 nginx 使其生效

systemctl restart nginx

四、完活

这样在访问 a.com 的时候就是访问服务器上的 /var/www/html/a.com/ 目录下的内容
这样在访问 b.com 的时候就是访问服务器上的 /var/www/html/b.com/ 目录下的内容

你可能感兴趣的:(运维,nginx,ubuntu,服务器)