用Ubuntu 20.04的Nginx进行虚拟主机配置

下面将说明如何在Nginx上设置多个域名的虚拟主机。
本示例中,我们将使用fx.askbox.net和stocks.askbox.net作为要设置的目标域名。

在Ubuntu 20.04上安装nginx。

$ sudo apt update
$ sudo apt upgrade
$ sudo apt install nginx

确认Nginx的版本。

$ nginx -v
nginx version: nginx/1.17.10 (Ubuntu)

在Nginx中进行基本认证

$ sudo printf "user_name:$(openssl passwd -crypt password)\n" >> /etc/nginx/.htpasswd

请确认fx.askbox.net域名的设置文件。

$ sudo cat /etc/nginx/sites-available/fx.askbox.net
server {
        listen 80;
        listen [::]:80;

        server_name fx.askbox.net;

        access_log  /var/log/nginx/fx.askbox.net-access.log;
        error_log  /var/log/nginx/fx.askbox.net-error.log;

        root /var/www/fx.askbox.net;
        index index.html;


        # 認証領域の説明(名前)
        auth_basic "Only Member";
        # Basic認証のユーザー・パスワードのファイル
        auth_basic_user_file /etc/nginx/.htpasswd;

        location / {
                try_files $uri $uri/ =404;
        }
}

请确认stocks.askbox.net域名的配置文件。

$ sudo cat /etc/nginx/sites-available/stocks.askbox.net
server {
        listen 80;
        listen [::]:80;

        server_name stocks.askbox.net;

        access_log  /var/log/nginx/stocks.askbox.net-access.log;
        error_log  /var/log/nginx/stocks.askbox.net-error.log;

        root /var/www/stocks.askbox.net;
        index index.html;

        location / {
                try_files $uri $uri/ =404;
        }
}

启用虚拟主机设置

将创建的2个域名配置文件的符号链接添加到sites-enabled目录中。

$ sudo ln -s /etc/nginx/sites-available/fx.askbox.net /etc/nginx/sites-enabled/fx.askbox.net
$ sudo ln -s /etc/nginx/sites-available/stocks.askbox.net /etc/nginx/sites-enabled/stocks.askbox.net

設定檔案的語法檢查

$ 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 reload nginx

查看日志文件

$ sudo tree /var/log/nginx/
/var/log/nginx/
├── access.log
├── fx.askbox.net-access.log
├── fx.askbox.net-error.log
├── error.log
├── stocks.askbox.net-access.log
└── stocks.askbox.net-error.log

0 directories, 6 files

确认Ubuntu版本


$ uname -a
Linux ip-172-31-8-191 5.4.0-1009-aws #9-Ubuntu SMP Sun Apr 12 19:46:01 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux

$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=20.04
DISTRIB_CODENAME=focal
DISTRIB_DESCRIPTION="Ubuntu 20.04 LTS"

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 20.04 LTS
Release:        20.04
Codename:       focal
广告
将在 10 秒后关闭
bannerAds