目前,我们较多的服务器WEB环境都是用的Nginx引擎,我们采用服务器的目的是可以获取到更多的资源,而且建站数量是不受限制的。我们可以根据自己需要配置Nginx,可以自定义特定域的设置,允许您在单个服务器上运行多个网站。 对于每个网站,我们可以设置站点文档根目录(包含网站文件的目录)、创建单独的安全策略、使用不同的 SSL 证书等等。
第一、满足基本要求
找配置之前,我们需要服务器确保已满足以下先决条件: 1、指向我们服务器 IP 的域名 2、我们的服务器采用的是Debian镜像,这里我们用的是Debian10
第二、创建目录结构 文档根目录是存储域名网站文件并响应请求提供服务的目录。 文档根目录可以是服务器上的任何目录。 本文中的示例使用以下目录结构:
- /var/www/
- ├── domain1.com
- │ └── public_html
- ├── domain2.com
- │ └── public_html
- ├── domain3.com
- │ └── public_html
基本上,我们将在 /var/www 目录中为要在服务器上托管的每个域创建一个单独的目录。 在每个目录中,我们将创建一个 public_html 目录,用于存储域网站文件。 运行以下命令为域example.com创建根目录:
- sudo mkdir -p /var/www/example.com/public_html
接下来,在域的文档根目录中创建一个 index.html 文件:
- sudo nano /var/www/example.com/public_html/index.html
添加点内容:
- <!DOCTYPE html>
- <html lang="en" dir="ltr">
- <head>
- <meta charset="utf-8">
- <title>Welcome to example.com</title>
- </head>
- <body>
- <h1>Success! example.com home page!</h1>
- </body>
- </html>
授权:
- sudo chown -R www-data: /var/www/example.com
第三、创建服务器模块
默认情况下,在 Debian 系统上,Nginx 服务器块配置文件存储在 /etc/nginx/sites-available 目录中。 要激活配置,我们需要将文件符号链接到 /etc/nginx/sites-enabled/ 目录。 打开文本编辑器并创建以下服务器块文件:
- sudo nano /etc/nginx/sites-available/example.com.conf
编辑:
- server {
- listen 80;
- listen [::]:80;
- root /var/www/example.com/public_html;
- index index.html;
- server_name example.com www.example.com;
- access_log /var/log/nginx/example.com.access.log;
- error_log /var/log/nginx/example.com.error.log;
- location / {
- try_files $uri $uri/ =404;
- }
- }
配置文件可以任意命名,我们可以使用自己的域名名创建的,容易识别。 通过创建从文件到启用站点的目录的符号链接来启用新的服务器块文件:
- sudo ln -s /etc/nginx/sites-available/example.com.conf /etc/nginx/sites-enabled/
检查:
- sudo nginx -t
如果出现下面内容表示正常:
- nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
- nginx: configuration file /etc/nginx/nginx.conf test is successful
- sudo systemctl restart nginx
重启Nginx生效。 这样,我们就可以完整的添加当前一个站点。类似,如果我们需要添加其他站点也是如此,只是绑定的域名目录不同。不过,如果我们有用脚本一键包,或者是WEB面板的话,就没有必要这样手工设置。