在 openEuler Linux 上安装 Nginx
Nginx 是一款轻量、高性能的 Web 服务器和反向代理服务器,适合在 openEuler 上部署静态站点、反向代理、博客程序或 API 网关。
openEuler 默认使用 dnf 作为包管理器,Nginx 通常可以直接从官方仓库安装。
1. 更新软件源
安装前先刷新软件源缓存,避免依赖解析失败。
sudo dnf makecache
如果系统很久没有更新,也可以先执行:
sudo dnf update -y
2. 安装 Nginx
直接使用 dnf 安装即可:
sudo dnf install -y nginx
安装完成后查看版本:
nginx -v
如果提示找不到软件包,可以确认当前软件源是否正常,或启用 EPOL 源:
sudo dnf config-manager --set-enabled epol
sudo dnf install -y nginx
3. 启动并设置开机自启
安装完成后,启动 Nginx 并设置开机自启:
sudo systemctl enable --now nginx
查看运行状态:
systemctl status nginx
如果输出中包含 active (running),说明 Nginx 已经正常运行。
常用管理命令:
| 命令 | 作用 |
|---|---|
sudo systemctl start nginx |
启动 Nginx |
sudo systemctl stop nginx |
停止 Nginx |
sudo systemctl restart nginx |
完全重启 Nginx |
sudo systemctl reload nginx |
重新加载配置,不中断请求 |
sudo systemctl enable nginx |
设置开机自启 |
sudo systemctl disable nginx |
取消开机自启 |
日常修改配置后,推荐使用 reload 而不是 restart。
4. 配置防火墙
如果 openEuler 启用了 firewalld,需要放行 HTTP 和 HTTPS 端口。
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload
查看当前放行规则:
sudo firewall-cmd --list-all
如果是云服务器,还需要在安全组中放行 80 和 443 端口。
5. 验证访问
在服务器本地执行:
curl http://localhost
或在浏览器中访问:
http://服务器IP地址
如果看到 Nginx 默认欢迎页面,说明安装成功。
6. 主要配置文件和目录
openEuler 通过 dnf 安装 Nginx 后,常用路径如下:
| 路径 | 说明 |
|---|---|
/etc/nginx/nginx.conf |
主配置文件 |
/etc/nginx/conf.d/ |
子配置目录 |
/usr/share/nginx/html/ |
默认网站根目录 |
/var/log/nginx/ |
日志目录 |
/run/nginx.pid |
PID 文件 |
修改任何配置文件后,建议先检查语法:
sudo nginx -t
如果提示 syntax is ok,再重新加载:
sudo systemctl reload nginx
7. 添加一个简单站点配置
可以在 conf.d 目录下创建独立配置文件,例如:
sudo vim /etc/nginx/conf.d/blog.conf
写入如下内容:
server {
listen 80;
server_name _;
root /usr/share/nginx/html;
index index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
}
保存后检查配置:
sudo nginx -t
sudo systemctl reload nginx
如果后续部署个人博客或静态站点,只需把网站文件放到对应目录,并修改 root 路径即可。
8. 可选:源码编译安装
如果官方仓库中的 Nginx 版本不满足需求,可以从源码编译安装。
安装编译依赖:
sudo dnf install -y gcc make pcre pcre-devel zlib zlib-devel openssl openssl-devel
下载源码并编译:
wget https://nginx.org/download/nginx-1.26.3.tar.gz
tar -zxvf nginx-1.26.3.tar.gz
cd nginx-1.26.3
./configure \
--prefix=/usr/local/nginx \
--with-http_ssl_module \
--with-http_v2_module \
--with-http_gzip_static_module \
--with-http_stub_status_module
make -j$(nproc)
sudo make install
源码编译安装后,Nginx 默认位于 /usr/local/nginx,不会自动注册为 systemd 服务,需要手动编写 nginx.service 文件。
对于日常运维,仍然更推荐直接使用 dnf 安装,便于后续升级和维护。
常见问题
| 问题 | 处理方式 |
|---|---|
nginx: command not found |
执行 sudo dnf install -y nginx |
| 无法访问默认页面 | 检查 systemctl status nginx 和防火墙 |
| 修改配置后不生效 | 使用 sudo nginx -t 检查语法,再 sudo systemctl reload nginx |
| 端口被占用 | 使用 `ss -lntp |
| 找不到 nginx 包 | 刷新缓存 sudo dnf makecache,或启用 EPOL 源 |
小结
在 openEuler 上安装 Nginx,推荐直接使用:
sudo dnf makecache
sudo dnf install -y nginx
sudo systemctl enable --now nginx
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo firewall-cmd --reload
安装完成后,通过浏览器访问服务器 IP,确认出现 Nginx 欢迎页面即可。后续如果要部署博客、静态站点或反向代理,建议在 /etc/nginx/conf.d/ 目录下单独创建站点配置文件,保持主配置文件简洁。
- 点赞
- 收藏
- 关注作者
评论(0)