8

如何在Debian 10上设置Nginx服务器

 2 years ago
source link: https://www.myfreax.com/how-to-set-up-nginx-server-blocks-on-debian-10/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

server是Nginx指令,用于定义特定域的设置,从而使您可以在一台服务器上运行多个网站。 对于每个网站,您可以设置站点文档根目录(包含网站文件的目录),创建单独的安全策略,使用不同的SSL证书等等。

本教程介绍了如何在Debian 10上设置Nginx服务器。

确保您满足以下先决条件:

在某些文档中,术语Server Blocks被称为Virtual host虚拟主机是Apache术语。

创建目录结构

站点根目录是用于存储域名网站文件并响应请求的目录。 站点根目录可以是服务器上的任何目录。

本文中的示例使用以下目录结构:

/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>
/var/www/example.com/public_html/index.html

为避免权限问题,将站点根目录的所有权更改为Nginx用户(www-data):

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

/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;
    }
}

可以将配置文件命名为任意名称,但是通常最好使用域名。

通过创建从文件到sites-enabled目录的符号链接来启用新的服务器阻止文件:

sudo ln -s /etc/nginx/sites-available/example.com.conf /etc/nginx/sites-enabled/

测试Nginx配置语法:

sudo nginx -t

如果没有错误,输出将如下所示:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

重新启动Nginx服务,以使更改生效:

sudo systemctl restart nginx

要验证服务器是否按预期工作,请在浏览器中打开http://example.com

我们已向您展示了如何创建Nginx服务器并在一台Debian服务器上托管多个域。 要为另一个域创建服务器,请重复相同的步骤。

如果您想使用SSL证书保护网站的安全,则可以生成并安装免费的Letencrypt SSL证书

如有任何疑问,请随时发表评论。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK