Nginx发音为“engine x”是一个免费的,开源的,高性能的HTTP和反向代理服务器,它为互联网上的站点提供支持。

Apache相比,Nginx可以处理大量并发连接,并且每个连接的内存占用量更小。

在本教程中,我们将讨论如何在Ubuntu 16.04系统上安装和管理Nginx。

前提条件

在开始本教程之前,请确保以具有sudo权限的用户身份登录,并且您没有在端口80或443上运行Apache或其他服务。

安装Nginx

Nginx软件包在Ubuntu默认软件存储库中提供。安装非常简单,只需运行以下命令:

sudo apt update
sudo apt install nginx

安装完成后,键入以下命令检查Nginx服务的状态:

sudo systemctl status nginx

输出应显示Nginx服务处于活动状态并正在运行:

● nginx.service - A high performance web server and a reverse proxy server
   Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
   Active: active (running) since Sun 2018-01-05 15:44:04 UTC; 1min 59s ago
 Main PID: 1291 (nginx)
   CGroup: /system.slice/nginx.service
           ├─1291 nginx: master process /usr/sbin/nginx -g daemon on; master_process on
           └─1293 nginx: worker process

检查Nginx版本类型:

sudo nginx -v
nginx version: nginx/1.10.3 (Ubuntu)

调整防火墙

假设您正在使用UFW管理防火墙,则需要打开HTTP(80)和HTTPS(443)端口。

你可以通过启用'Nginx Full'配置文件来实现这一点,该配置文件包含80/443两个端口的规则:

sudo ufw allow 'Nginx Full'

验证防火墙状态:

输出结果如下所示:

sudo ufw status
Status: active

To                         Action      From
--                         ------      ----
22/tcp                     ALLOW       Anywhere
Nginx Full                 ALLOW       Anywhere
22/tcp (v6)                ALLOW       Anywhere (v6)
Nginx Full (v6)            ALLOW       Anywhere (v6)

测试安装

要验证Nginx是否按预期http://YOUR_IP在您选择的浏览器中打开,您将看到默认的Nginx欢迎页面,如下所示:

从Nginx PPA存储库安装Nginx

来自Ubuntu存储库的Nginx包经常过时。要安装最新的Nginx版本,请使用官方的Nginx PPA存储库。

按照以下步骤在Ubuntu 16.04上安装最新版本的Nginx:

首先安装software-properties-common包:

sudo apt install software-properties-common

使用以下命令添加Nginx PPA存储库:

sudo add-apt-repository ppa:nginx/stable

更新包列表并安装Nginx:

sudo apt updatesudo apt install nginx

安装完成后,检查Nginx版本:

sudo nginx -v

输出看起来像这样:

nginx version: nginx/1.12.2

使用systemctl管理Nginx服务

您可以像管理其他systemd单元一样管理Nginx服务

停止Nginx服务

sudo systemctl stop nginx

启动Nginx服务

sudo systemctl start nginx

重启Nginx服务:

sudo systemctl restart nginx

测试Nginx配置文件,对于在线上修改配置文件时非常有用,这让你不需要重启Nginx就可以知道配置文件是否正确

sudo nginx -t

完成一些配置更改后重新加载Nginx服务:

sudo systemctl reload nginx

禁用Nginx服务自动启动:

sudo systemctl disable nginx

Nginx服务开机自动启动:

sudo systemctl enable nginx

Nginx配置文件的结构和最佳实践

  • 所有Nginx配置文件都位于/etc/nginx/目录中。
  • 主要的Nginx配置文件是/etc/nginx/nginx.conf
  • 为了使Nginx配置更易于维护,建议为每个域创建单独的配置文件。您可以根据需要调整服务器配置文件。
  • Nginx服务器配置文件存储在/etc/nginx/sites-available目录中。Nginx不使用此目录中的配置文件,除非它们链接到/etc/nginx/sites-enabled目录。
  • 要激活服务器配置,您需要从sites-available目录中的配置文件站点到目录创建符号链接(指针)sites-enabled
  • 遵循标准命名约定是个很好方式,例如,如果您的域名是,mydomain.com那么您的配置文件应该被命名/etc/nginx/sites-available/mydomain.com.conf
  • /etc/nginx/snippets目录包含可包含在服务器配置文件中的配置片段。如果使用可重复的配置片段,则可以将这些段改为片段,并将片段文件包含到服务器配置中。
  • Nginx日志文件(access.logerror.log)位于/var/log/nginx/目录中。建议有不同accesserror日志文件每个服务器模块。
  • 您可以将域文档根目录设置为所需的任何位置。webroot最常见的位置包括:
  • /home/<user_name>/<site_name>
  • /var/www/<site_name>
  • /var/www/html/<site_name>
  • /opt/<site_name>

现在您已在Ubuntu服务器上成功安装了Nginx。接下来就可以开始部署应用程序并将Nginx用作Web或代理服务器

如果你喜欢我们的内容可以选择在下方二维码中捐赠我们,或者点击广告予以支持,感谢你的支持