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