Nginx 是一种高性能的开源 Web 服务器,以其稳定性、可扩展性和效率而闻名。它是提供 Web 内容、反向代理和负载平衡的绝佳选择。Nginx 还具有高度可配置性,使其成为在单个服务器上托管多个网站的理想候选者。
在 Manjaro 上安装 Nginx
第 1 步。在安装 Nginx 之前,必须确保该软件包可用且是最新的。打开终端并运行以下命令:
<span class="pln">sudo pacman </span><span class="pun">-</span><span class="typ">Syu</span><span class="pln"> sudo pacman </span><span class="pun">-</span><span class="pln">S </span><span class="kwd">base</span><span class="pun">-</span><span class="pln">devel</span>
要在 Manjaro 系统上安装 Nginx,请使用“pacman”包管理器。运行以下命令:
<span class="pln">sudo pacman </span><span class="pun">-</span><span class="pln">S nginx</span>
安装 Nginx 后,您可以启动该服务并使其在系统启动时自动启动。使用以下命令:
<span class="pln">sudo systemctl start nginx sudo systemctl enable nginx</span>
第 3 步。Nginx 基本配置
Nginx 的配置文件位于 .主配置文件是 。根据需要理解和编辑此文件很重要,但现在,让我们保持简单。/etc/nginx/
/etc/nginx/nginx.conf
<span class="pln">sudo nano </span><span class="pun">/</span><span class="pln">etc</span><span class="pun">/</span><span class="pln">nginx</span><span class="pun">/</span><span class="pln">nginx</span><span class="pun">.</span><span class="pln">conf</span><code class=" prettyprinted"></code>
在此文件中,您可以找到与服务器设置相关的各种指令,例如工作进程和用户权限。
Nginx运行后,打开Web浏览器并输入服务器的IP地址或域名。您应该会看到默认的 Nginx 欢迎页面。恭喜,您已成功安装 Nginx!
第 4 步。配置虚拟主机。
虚拟主机,在Nginx世界中也称为服务器块,允许您在单个服务器上托管多个网站。如果您计划在服务器上运行多个网站或 Web 应用程序,则此功能非常宝贵。
在开始配置虚拟主机之前,让我们设置一个目录结构来保持您的网站井井有条。最好为每个站点创建一个单独的目录。例如,创建类似和为不同网站的目录:/var/www/site1
/var/www/site2
<span class="pln">sudo mkdir </span><span class="pun">-</span><span class="pln">p </span><span class="pun">/</span><span class="kwd">var</span><span class="pun">/</span><span class="pln">www</span><span class="pun">/</span><span class="pln">site1 sudo mkdir </span><span class="pun">-</span><span class="pln">p </span><span class="pun">/</span><span class="kwd">var</span><span class="pun">/</span><span class="pln">www</span><span class="pun">/</span><span class="pln">site2</span>
让我们为示例网站创建一个基本的服务器块配置。我们假设您有一个域名,例如 ,指向服务器的 IP 地址。您可以相应地调整以下配置。example.com
<span class="pln">sudo nano </span><span class="pun">/</span><span class="pln">etc</span><span class="pun">/</span><span class="pln">nginx</span><span class="pun">/</span><span class="pln">sites</span><span class="pun">-</span><span class="pln">available</span><span class="pun">/</span><span class="pln">sample</span><span class="pun">-</span><span class="pln">site</span>
将以下内容添加到文件中,对其进行修改以匹配您的域:
<span class="pln">server </span><span class="pun">{</span><span class="pln"> listen </span><span class="lit">80</span><span class="pun">;</span><span class="pln"> server_name example</span><span class="pun">.</span><span class="pln">com www</span><span class="pun">.</span><span class="pln">example</span><span class="pun">.</span><span class="pln">com</span><span class="pun">;</span><span class="pln"> root </span><span class="pun">/</span><span class="kwd">var</span><span class="pun">/</span><span class="pln">www</span><span class="pun">/</span><span class="pln">site1</span><span class="pun">;</span><span class="pln"> index index</span><span class="pun">.</span><span class="pln">html</span><span class="pun">;</span><span class="pln"> location </span><span class="pun">/</span> <span class="pun">{</span><span class="pln"> try_files $uri $uri</span><span class="pun">/</span> <span class="pun">=</span><span class="lit">404</span><span class="pun">;</span> <span class="pun">}</span> <span class="pun">}</span>
保存文件并退出文本编辑器,然后在目录中创建符号链接。这告诉 Nginx 使用此配置:sites-enabled
<span class="pln">sudo ln </span><span class="pun">-</span><span class="pln">s </span><span class="pun">/</span><span class="pln">etc</span><span class="pun">/</span><span class="pln">nginx</span><span class="pun">/</span><span class="pln">sites</span><span class="pun">-</span><span class="pln">available</span><span class="pun">/</span><span class="pln">sample</span><span class="pun">-</span><span class="pln">site </span><span class="pun">/</span><span class="pln">etc</span><span class="pun">/</span><span class="pln">nginx</span><span class="pun">/</span><span class="pln">sites</span><span class="pun">-</span><span class="pln">enabled</span><span class="pun">/</span>
在应用更改之前,最好测试配置是否存在任何语法错误:
<span class="pln">nginx </span><span class="pun">-</span><span class="pln">t</span>
要应用更改,请重新加载 Nginx:
<span class="pln">sudo systemctl reload nginx</span>
现在,如果您在浏览器中访问您的域(例如,),它应该显示目录中的内容。http://example.com
/var/www/site1
第5步。设置防火墙。
防火墙是保护 Linux 服务器的基本组件。它充当服务器与外界之间的屏障,控制传入和传出流量。在本指南中,我们将使用 UFW(简单防火墙)来管理 Manjaro Linux 上的防火墙设置。若要安装 UFW,可以使用以下命令:
<span class="pln">sudo pacman </span><span class="pun">-</span><span class="pln">S ufw</span>
安装 UFW 后,您可以使用以下命令启用它并确保它在启动时自动启动:
<span class="pln">sudo systemctl enable ufw</span>
若要允许流量进入 Nginx Web 服务器,需要配置 UFW 规则以允许 HTTP(端口 80)和 HTTPS(端口 443)端口上的传入连接。以下是您可以做到这一点的方法:
<span class="pln">sudo ufw allow </span><span class="str">'Nginx Full'</span>
配置 UFW 规则后,必须验证防火墙是否正常运行。运行以下命令:
<span class="pln">sudo ufw status</span>
第 6 步。故障 排除。
常见问题和解决方案
- Nginx 无法启动:如果 Nginx 无法启动,请使用 检查配置是否存在语法错误。更正在配置文件中发现的任何错误。
sudo nginx -t
- 防火墙阻止合法流量:如果 UFW 阻止合法流量,请查看您的 UFW 规则并确保它们允许必要的端口和服务。
- SSL 问题:如果遇到与 SSL 相关的问题,请确保正确设置 SSL 证书文件和配置。请注意文件权限和路径。
用于诊断问题的有用命令
为了帮助诊断 Nginx 服务器和防火墙的问题,请考虑使用以下命令:
journalctl -xe
:显示系统日志消息,这有助于识别错误和问题。ufw status verbose
:提供有关 UFW 状态的详细信息,包括活动规则和应用程序配置文件。sudo tail -f /var/log/nginx/error.log
:实时监控 Nginx 的错误日志,这对于跟踪发生的错误非常有用。
感谢您使用本教程在Manjaro系统上安装最新版本的Nginx Web服务器。有关其他帮助或有用信息,我们建议您查看Nginx官方网站。