天天看点

如何在 CentOS 8 上设置 Nginx 服务器配置块

如何在 CentOS 8 上设置 Nginx 服务器配置块

本文最先发布在:

https://www.itcoder.tech/posts/how-to-set-up-nginx-server-blocks-on-centos-8/

一个服务器配置块是一个 Nginx 指令,它定义了对于一个指定域名的设置,允许你在一个单机服务器上运行多个网站。对于每一个网站,你可以设置网站文件根目录(包含网站文件的目录),创建一个独立的安全策略,使用不同的 SSL 证书等等。

本文描述了如何在 CentOS 8 上设置 Nginx 服务器块。

一、前提条件

在继续这个指南之前,请确保你满足了下面的前提条件:

  • 指向你公共服务器 IP 的域名
  • 在你的 CentOS 系统上安装了 Nginx
  • 以 root 或者其他有 sudo 权限的用户身份登录

在一些文档中,术语

Server Blocks

也被称为

Virtual host

。一个虚拟主机是一个 Apache 的术语。

二、创建文件结构

文档根目录是每个域名对应网站文件所存储并且响应请求的地方。

文档根目录可以被设置到任何你想要设置的地方。

我们将会使用下面的文件夹结构:

/var/www/
├── example.com
│   └── public_html
├── example2.com
│   └── public_html
├── example3.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>           

想要避免任何权限问题,修改域名的文档根目录的所有者到用户

nginx

sudo chown -R nginx: /var/www/example.com           

三、创建一个服务器块

在 CentOS 上,Nginx 服务器块配置文件默认以

.conf

结尾并且被存储在

/etc/nginx/conf.d

目录。

打开你的文本编辑器,并且为域名创建一个配置文件:

sudo nano /etc/nginx/conf.d/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;
    }
}           

保存文件,并且检测 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

,你将会看到下面的画面:

如何在 CentOS 8 上设置 Nginx 服务器配置块

四、总结

我们已经向你展示如何创建 Nginx 服务器配置块,并且在一个简单的 CentOS 服务器上托管很多域名。

你可以重复上面的步骤,并且为你所有的域名添加额外的服务器配置块。

如果你想要使用 SSL 证书加密你的网站,你可以生成并且安装一个免费的

Letsencrypt 免费SSL证书

如果你有任何疑问,请通过以下方式联系我们:

微信: sn0wdr1am86

如何在 CentOS 8 上设置 Nginx 服务器配置块

微信群:

加上面的微信,备注微信群

QQ: 3217680847

如何在 CentOS 8 上设置 Nginx 服务器配置块

QQ 群: 82695646

如何在 CentOS 8 上设置 Nginx 服务器配置块