在 Linux 上安装 Nginx 搭建属于自己的 Web 服务器
本指南将帮助您在各种 Linux 发行版上安装 Nginx,您将了解重要的 Nginx 配置文件和目录。
由于其性能和易用性,Nginx 是最受欢迎的 Web 服务器。它是一个免费和开源的高性能 HTTP 服务器。除了Web 服务器功能,Nginx 还可以充当反向代理和负载均衡器。
按照以下步骤将向您展示如何在 Ubuntu、Debian、CentOS、Rocky Linux、AlmaLinux 等各种 Linux 发行版上安装 Nginx,并测试其功能。
此外,如果您想知道如何使用免费的 Let's Encrypt SSL 证书来保护您的 Nginx,我建议您阅读我们的指南Let's Encrypt:使用 Certbot 获取免费的 SSL 证书(见 https://www.linuxmi.com/lets-encrypt-certbot-ssl.html )。
目录
- 1. 安装 Nginx
- 1.1 在 Ubuntu 或 Debian 上安装 Nginx
- 1.2 在 CentOS 7 上安装 Nginx
- 1.3 在 CentOS 8、Rocky Linux 或 AlmaLinux 上安装 Nginx
- 2.检查Nginx服务状态
- 3. Nginx 配置文件和目录
- 3.1 服务器配置文件
- 3.2 Nginx 日志
- 3.3 默认公共 Web 目录
- 结论
1. 安装 Nginx
在开始之前,您应该拥有一个具有sudo特权的常规非 root 用户。
1.1 在 Ubuntu 或 Debian 上安装 Nginx
Nginx 在默认的Ubuntu和Debian存储库中可用,因此您可以使用apt 包管理工具轻松安装它 。
让我们首先确保您的系统是最新的:
- sudo apt update
之后,您可以安装 Nginx:
- sudo apt install nginx
1.2 在 CentOS 7 上安装 Nginx
在 CentOS 7 上,Nginx 包在EPEL(企业 Linux 的额外包)存储库中可用。如果你还没有安装它,你可以输入:
- sudo yum install epel-release
现在您可以继续安装 Nginx:
- sudo yum install nginx
请按y ,然后 按 Enter 接受 EPEL GPG 键。
安装完成后,启用并启动 Nginx 服务:
- sudo systemctl enable nginx
- sudo systemctl start nginx
最后,您需要同时打开 HTTP (80) 和HTTPS (443)端口。
- sudo firewall-cmd --permanent --zone=public --add-service=http
- sudo firewall-cmd --permanent --zone=public --add-service=https
- sudo firewall-cmd --reload
1.3 在 CentOS 8、Rocky Linux 或 AlmaLinux 上安装 Nginx
为了安装 Nginx,我们将使用 dnf 包管理器,它是CentOS 8、Rocky Linux和AlmaLinux上的默认包管理器。
首先,更新所有可用的包:
- [linuxmi@localhost www.linuxmi.com]$ sudo dnf upgrade
更新完成后,运行以下命令安装Nginx:
- [linuxmi@localhost www.linuxmi.com]$ sudo dnf install nginx
图片 安装完成后,启用并启动 Nginx 服务:
- [linuxmi@localhost www.linuxmi.com]$ sudo systemctl enable nginx
- Created symlink /etc/systemd/system/multi-user.target.wants/nginx.service → /usr/lib/systemd/system/nginx.service.
- [linuxmi@localhost www.linuxmi.com]$ sudo systemctl start nginx
要允许 防火墙上的HTTP (80) 和 HTTPS (443)流量,请执行以下命令:
- sudo firewall-cmd --permanent --zone=public --add-service=http
- sudo firewall-cmd --permanent --zone=public --add-service=https
- sudo firewall-cmd --reload
2.检查Nginx服务状态
要确认 Nginx Web 服务器正在运行,请执行以下命令:
- [linuxmi@localhost www.linuxmi.com]$ sudo systemctl status nginx
输出如下:
- ● nginx.service - The nginx HTTP and reverse proxy server
- Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; vendor prese>
- Active: active (running) since Sun 2021-12-12 20:37:40 EST; 1min 18s ago
- Process: 3715 ExecStart=/usr/sbin/nginx (code=exited, status=0/SUCCESS)
- Process: 3713 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=0/SUCCESS)
- Process: 3712 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (code=exited, status>
- Main PID: 3717 (nginx)
- Tasks: 2 (limit: 23372)
- Memory: 6.5M
- CGroup: /system.slice/nginx.service
- ├─3717 nginx: master process /usr/sbin/nginx
- └─3718 nginx: worker process
从上面显示的输出中,您可以得出结论,Nginx 服务已启动并正在运行。
此外,您可以访问默认的 Nginx 登录页面,通过导航到您服务器的 IP 地址来确认 Web 服务器运行正常。
这将显示默认的 Nginx 登陆页面,表明一切正常。
3. Nginx 配置文件和目录
现在 Nginx 已安装,您应该注意一些重要的文件夹和位置。
3.1 服务器配置文件
- /etc/nginx: 包含所有 Nginx 配置文件的主目录。
- /etc/nginx/nginx.conf: 主要的 Nginx 配置文件。
- /etc/nginx/sites-available: 定义单个网站的目录。请记住,Nginx 不会使用在此目录中找到的配置文件,除非它们链接到该 /etc/nginx/sites-enabled 目录。
- /etc/nginx/sites-enabled:由 Nginx 主动服务的网站列表。
要激活网站以便将它们链接到 /etc/nginx/sites-enable 目录,请使用下面显示的命令创建网站配置的符号链接:
- sudo ln -s /etc/nginx/sites-available/mydomain.com.conf /etc/nginx/sites-enabled/
当然,您需要替换 mydomain.com.conf 为您的 VirtualHost.conf文件。
3.2 Nginx 日志
Nginx 日志文件(access.log 和 error.log)位于该 /var/log/nginx/目录中。
- access.log:对您的 Web 服务器的每个请求都记录在此日志文件中。
- error.log:Nginx 中生成的任何错误的日志。当您的服务器未按预期运行时,您将在这里进行故障排除。
3.3 默认公共 Web 目录
默认情况下,Nginx在其基本配置文件中设置了默认文档根目录。创建虚拟主机或服务器块时,Web 服务器会在这些配置文件中指定的文档根目录中查找网站文件。
- /var/www/html:在 Ubuntu 和 Debian 上,Nginx 将其文档存储在这里。
- /usr/share/nginx/html:在 CentOS、Rocky Linux 和 Alma Linux 上,默认的 Nginx 网页位于此处。
结论
在本教程中,您学习了如何在各种 Linux 发行版上安装 Nginx。现在由您决定要为用户提供哪些内容。
相关文章
- 在 Go 里用 CGO?这 7 个问题你要关注!
- 9款优秀的去中心化通讯软件 Matrix 的客户端
- 求职数据分析,项目经验该怎么写
- 在OKR中,我看到了数据驱动业务的未来
- 火山引擎云原生大数据在金融行业的实践
- OpenHarmony富设备移植指南(二)—从postmarketOS获取移植资源
- 《数据成熟度指数》报告:64%的企业领袖认为大多数员工“不懂数据”
- OpenHarmony 小型系统兼容性测试指南
- 肯睿中国(Cloudera):2023年企业数字战略三大趋势预测
- 适用于 Linux 的十大命令行游戏
- GNOME 截图工具的新旧截图方式
- System76 即将推出的 COSMIC 桌面正在酝酿大变化
- 2GB 内存 8GB 存储即可流畅运行,Windows 11 极致精简版系统 Tiny11 发布
- 迎接 ecode:一个即将推出的具有全新图形用户界面框架的现代、轻量级代码编辑器
- loongarch架构介绍(三)—地址翻译
- Go 语言怎么解决编译器错误“err is shadowed during return”?
- 敏捷:可能被开发人员遗忘的部分
- Denodo预测2023年数据管理和分析的未来
- 利用数据推动可持续发展
- 在 Vue3 中实现 React 原生 Hooks(useState、useEffect),深入理解 React Hooks 的