在 Ubuntu Linux 18.04 LTS 上安装和配置 Nginx
简介:Nginx 是一个免费的开源 Web 服务器。Nginx 提供通过 Internet 发送网页的服务。您可以发送由 PHP 生成的静态或动态网页。Nginx 以高性能 HTTP、HTTPS 和反向代理服务器而闻名。它提供简单的配置,并且在服务器上占用的资源很少。它是 Apache 服务器的绝佳替代品。
在 Ubuntu Linux 18.04 上安装和配置 Nginx
在 Ubuntu 18.04 LTS 上安装 Nginx 的步骤如下:
- 使用apt 命令更新系统
- 使用以下方式在 Ubuntu 上安装 Nginxapt install nginx
- 配置 Nginx 服务器
- 启用并重新启动 Nginx 服务器
让我们详细了解在 Ubuntu Linux 18.04 LTS 服务器上安装 Nginx 的所有步骤。
步骤 1. 使用 ssh 命令登录到你的服务器
首先,使用 ssh 命令登录您的服务器:
$ ssh user@server
$ ssh vivek@server1.example.com
第 2 步:找出你的 Ubuntu Linux 服务器 IP 地址
输入以下ip 命令:
记下 IP 地址 10.105.28.46。您可能有一个公共 IPv4 地址。这完全取决于您的设置。
$ ip show
$ ip addr show
步骤 3. 在 Ubuntu Linux 18.04 LTS 上安装 Nginx
运行以下apt 命令在 Ubuntu 18.04 上安装安全更新:示例
输出:
$ sudo apt update
$ sudo apt upgrade
Hit:1 http://us-east-1.ec2.archive.ubuntu.com/ubuntu bionic InRelease Get:2 http://us-east-1.ec2.archive.ubuntu.com/ubuntu bionic-updates InRelease [88.7 kB] Get:3 http://us-east-1.ec2.archive.ubuntu.com/ubuntu bionic-backports InRelease [74.6 kB] Get:4 http://security.ubuntu.com/ubuntu bionic-security InRelease [88.7 kB] Fetched 252 kB in 1s (503 kB/s) Reading package lists... Done Building dependency tree Reading state information... Done All packages are up to date.
如何在 Ubuntu 18.04 上安装 Nginx
最后安装Nginx weber服务器:
$ sudo apt install nginx
步骤 4.在 Ubuntu 上启动/停止/重启 Nginx 服务器的命令
使用 systemctl 命令在启动时启用 Nginx 服务器:
$ sudo systemctl enable nginx
使用 systemctl 命令
$ sudo systemctl start nginx
启动 Nginx 服务器: 使用 systemctl 命令重新启动 Nginx 服务器:
$ sudo systemctl restart nginx
使用 systemctl 命令停止 Nginx 服务器:
$ sudo systemctl stop nginx
使用 systemctl 命令重新加载 Nginx 服务器:
$ sudo systemctl reload nginx
使用 systemctl 命令获取 Nginx 服务器的状态:
$ sudo systemctl status nginx
步骤 5. 在 Ubuntu Linux 上使用 UFW 打开端口 80 和 443(防火墙配置)
UFW 是 Uncomplicated Firewall 的缩写。它用于管理 Linux 防火墙,旨在为用户提供易于使用的界面。要打开端口 80 (HTTP) 和 HTTPS (443),请运行:
验证它:
$ sudo ufw allow https comment 'Open all to access Nginx port 443'
$ sudo ufw allow http comment 'Open access Nginx port 80'
$ sudo ufw allow ssh comment 'Open access OpenSSH port 22'
$ sudo ufw enable
$ sudo ufw status
步骤 6. 验证 Nginx 是否在 Ubuntu 18.04 LTS 上运行
您的 Web 服务器已启动并运行。现在是时候测试它了。使用步骤 #2 中收集的 IP 地址。启动 Web 浏览器并输入 URL:
http://10.105.28.46/
或使用公共 IP 地址:
http://104.200.23.232/
Nginx 默认页面运行情况
步骤 7.配置 Nginx 服务器
让我们用目录建立我们的公共域(例如,cms.example.com或www.example.com等等)。
创建用户来存储网页
使用 useradd 命令
添加一个名为 www-pubcms 的新 Linux 用户使用 passwd 命令$ sudo useradd -s /usr/sbin/nologin -m -d /home/lighttpd/ -c 'cms.example.com user' www-pubcms
锁定 Linux 用户帐户:
$ sudo passwd -l www-pubcms
passwd: password expiry information changed.
使用mkdir 命令创建用于存储网页的目录
$ sudo mkdir -v /home/lighttpd/http/
创建新的示例网页
使用文本编辑器,如 nano 命令或 vim 命令:
$ sudo nano /home/lighttpd/http/index.html
或者
$ sudo vim /home/lighttpd/http/index.html
附加以下 HTML 代码:
<html> <head> <title>CMS.example.com</title> </head> <body> <h1>Welcome</h1> This is a test page for cms.example.com. <hr> <small>Powered by Nginx and Ubuntu 18.04 LTS</small> </body> </html>
设置目录的权限:
$ sudo chown -vR www-pubcms:www-pubcms /home/lighttpd/
为您的 cms.example.com 域创建虚拟域配置
$ sudo vim /etc/nginx/sites-available/http.cms.example.com.conf
或
$ sudo nano /etc/nginx/sites-available/http.cms.example.com.conf
附加配置:
# our first viraul host cms.example.com server { listen 80; # port server_name cms.example.com; # dns server name # log files access_log /var/log/nginx/cms.example.com_access.log; error_log /var/log/nginx/cms.example.com_error.lg; # document root where files stores for cms.example.com domain root /home/lighttpd/http; index index.html index.htm; }
保存并关闭文件。在 sites-enabled 目录中使用 ln 命令创建一个新的软链接以启用 cms.example.com 域:
$ cd /etc/nginx/sites-enabled/
$ sudo ln -v -s /etc/nginx/sites-available/http.cms.example.com.conf .
测试并正常重新加载 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
$ sudo systemctl reload nginx
确保将域名映射到您的公共 IP 地址,例如 104.200.23.232。可以使用host 命令或dig 命令来验证 cms.example.com 的 A 记录:
打开浏览器并输入您的域名:
$ host cms.example.com
cms.example.com has address 104.200.23.232
cms.example.com has IPv6 address 2600:3c00:1::68c8:17e8
http://cms.example.com/
导入 Nginx 日志文件
- /var/log/nginx/– Nginx 服务器日志文件。
- /etc/nginx/– Nginx 服务器配置文件目录。所有活动站点配置均可在/etc/nginx/sites-enabled/目录中找到,该目录与实际配置文件目录/etc/nginx/sites-available/相链接
- /etc/nginx/nginx.conf– 您的主要 nginx 配置文件。
使用tail命令或者more命令或者grep命令或者cat命令查看服务器日志文件:
$ tail -f /var/log/nginx/access.log
$ more /var/log/nginx/error.log
$ grep 'something' /var/log/nginx/cms.example.com_access.log
$ cat /var/log/nginx/cms.example.com_access.log
检查 Nginx 日志文件,确保所有域都正常运行
$ ss -tulpn
$ ss -tulpn | grep :80
$ netstat -tulpn
结论
至此,您已在 Ubuntu Linux 18.04 LTS 服务器上安装并配置了 Nginx 服务器。在本系列的第二部分中,您将了解如何出于安全原因配置 HTTPS(SSL/TLS 证书)服务器。有关更多信息,请参阅此处的nginx wiki 。
- 在 Ubuntu Linux 18.04 LTS 上安装和配置 Nginx
- 在 Ubuntu 18.04 上使用 Let's Encrypt 和 DNS 验证保护 Nginx