如何在Ubuntu 16.04上安装Nginx
时间:2020-03-05 15:30:26 来源:igfitidea点击:
Nginx发音为“ engine x”,是一种免费的,开源的高性能HTTP和反向代理服务器,为Internet上一些最大的站点提供支持。
与Apache相比,Nginx可以处理大量并发连接,并且每个连接的内存占用量较小。
在本教程中,我们将讨论如何在Ubuntu 16.04系统上安装和管理Nginx。
准备工作
在开始学习本教程之前,请确保我们以具有sudo特权的用户身份登录,并且端口80或者443上没有运行Apache或者任何其他服务。
安装Nginx
Nginx软件包可在Ubuntu默认软件存储库中找到。
安装非常简单,只需运行以下命令:
sudo apt updatesudo 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 2016-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”配置文件,其中包括两个端口的规则:
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服务:
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”目录的符号链接(指针)。
- 遵循标准的命名约定是个好主意,例如,如果域名是“ mytheitroad.com”,则配置文件应命名为“ /etc/nginx/sites-available/mytheitroad.com.conf”
- “/etc/nginx/snippets”目录包含可包含在服务器块文件中的配置片段。如果使用可重复的配置段,则可以将这些段重构为片段,并将片段文件包括在服务器块中。
- Nginx日志文件(“ access.log”和“ error.log”)位于“/var/log/nginx /”目录中。建议为每个服务器块使用不同的“访问”和“错误”日志文件。
- 我们可以将域文档的根目录设置为所需的任何位置。 webroot的最常见位置包括:
- '/home/<用户名>/<站点名>'
- '/var/www/<站点名称>'
- '/var/www/html/<site_name>'
- '/opt/<站点名称>'