视窗苹果电脑软件设置安全生产力Linux安卓性能配置苹果自定义设备管理iPhone设置 全部

如何在Ubuntu上安装和配置Nginx

已编辑 5 几天前 通过 ExtremeHow 编辑团队

Nginx乌班图服务器Linux网络服务器安装配置操作系统系统设置

如何在Ubuntu上安装和配置Nginx

翻译更新 5 几天前

欢迎阅读本指南,了解如何在Ubuntu服务器上安装和配置Nginx。在这篇详细的文章中,我们将逐步进行说明,从安装到配置,包括可以根据您的需要进行调整的各种模块和设置。Nginx以其高性能、稳定性、丰富的功能集、简单的配置和低资源消耗而闻名,使其成为Web服务器的热门选择。让我们深入探讨在Ubuntu系统上运行Nginx的步骤。

了解Nginx

Nginx(发音为“engine x”)是一款高性能的HTTP服务器和反向代理服务器,也是一个IMAP/POP3代理服务器。它被设计用于处理大量并发连接,这意味着它在提供静态内容和负载平衡功能方面非常高效。Nginx是开源软件,这意味着可以免费使用、修改和分发。

先决条件

在安装Nginx之前,您必须拥有运行Ubuntu的服务器。本指南假定以下内容:

确保您的服务器已更新到最新的软件包,为此,请执行以下操作:sudo apt update && sudo apt upgrade

安装Nginx

要安装Nginx,您的包管理器必须是最新的。您将使用apt,这是Ubuntu的默认包管理器。按以下步骤操作:

sudo apt update sudo apt install nginx

第一条命令更新包列表。第二条命令安装Nginx。安装后,Nginx会自动启动。要验证Nginx是否正在运行,可以使用命令:systemctl status nginx。如果服务处于活动状态并正在运行,您应该能看到指示该状态的输出。

调整防火墙

默认情况下,Nginx会注册到ufw,这是一个防火墙配置工具。使用ufw可以管理哪些HTTP和HTTPS端口是开放的。运行:

sudo ufw app list

您应该能看到列出的Nginx配置文件。授予Nginx Full权限,如下所示:

sudo ufw allow 'Nginx Full'

然后,通过检查防火墙状态:sudo ufw status来验证更改,以确保允许必需端口上的流量。

检查Nginx服务器

现在Nginx正在运行并且防火墙已调整,您可以查看Web服务器的默认页面。打开Web浏览器并导航到服务器的公共IP地址。如果Nginx设置正确,您应该能看到“欢迎使用Nginx!”页面。要查找服务器的公共IP,您可以使用:

curl -4 icanhazip.com

了解Nginx目录结构

熟悉Nginx安装的目录结构非常重要,主要在/etc/nginx中。主要的目录和文件包括:

配置更改通常应在nginx.conf中进行或通过在sites-available中创建新文件来实现。

基本的Nginx配置

nginx.conf文件是Nginx的主配置文件。简单任务可以直接编辑它,但对于与托管站点相关的特定更改,应使用服务器块文件。让我们为名为example.com的域创建一个新的服务器块文件。在/etc/nginx/sites-available/内部:

sudo nano /etc/nginx/sites-available/example.com

添加以下配置:

server { listen 80; server_name example.com www.example.com; location / { try_files $uri $uri/ =404; } }

要启用文件,请创建到sites-enabled目录的符号链接:

sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/

要检查您是否正确配置:

sudo nginx -t

如果成功,重新加载Nginx:

sudo systemctl reload nginx

此示例仅从目录中提供静态文件,假定它们位于Nginx默认根目录下的/var/www/html中。

设置服务器块

服务器块允许您在单个服务器上托管多个域。每个域的配置文件必须在sites-available中,符号链接在sites-enabled中。服务器块示例:

server { listen 80; server_name example.com www.example.com; root /var/www/example.com/html; index index.html index.htm index.nginx-debian.html; location / { try_files $uri $uri/ =404; } }

创建目录结构:

sudo mkdir -p /var/www/example.com/html

指定权限并创建示例HTML页面:

sudo chown -R $USER:$USER /var/www/example.com/html sudo chmod -R 755 /var/www/example.com echo '<h1>Hello World!</h1>' > /var/www/example.com/html/index.html

记得创建符号链接并测试配置,然后重新加载Nginx。

使用Let's Encrypt实现SSL

要保护服务器的进出流量,实现SSL/TLS是重要的。Let's Encrypt提供免费的SSL证书。首先安装Certbot,Let's Encrypt的客户端:

sudo apt install certbot python3-certbot-nginx

Certbot可以自动为Nginx配置SSL;运行:

sudo certbot --nginx -d example.com -d www.example.com

在此过程中,需要提供电子邮件地址并同意服务条款。Certbot将处理您的Nginx配置的修改以通过HTTPS提供内容。

自动更新SSL

Let's Encrypt证书每90天到期。设置cron job来自动更新证书。打开crontab:

sudo crontab -e

添加:

0 3 * * * /usr/bin/certbot renew --quiet

这将在每天凌晨3点运行更新命令。

性能调优

对于高流量站点,性能调优非常重要。某些调优策略:

考虑使用New Relic或Datadog等工具来监控Nginx性能。

结论

恭喜,您已在Ubuntu上安装并配置了Nginx!您学习了如何提供多个域,使用SSL保护您的站点,并优化配置以提高性能。由于Nginx的选项和模块非常丰富,进一步探索其文档可以为您提供许多高级且有趣的功能。继续尝试,您将很快管理一个高度优化的Web服务器。

如果你发现文章内容有误, 您可以


评论