当前位置: 首页 > web >正文

openEuler 22.03 安装 Nginx,支持离线安装

目录

    • 一、环境检查
      • 1.1 必要环境检查
      • 1.2 在线安装(有网络)
      • 1.3 离线安装(无网络)
    • 二、下载Nginx
      • 2.1 在线下载
      • 2.2 离线下载
    • 三、安装Nginx
    • 四、开机自启服务
    • 五、开放防火墙端口
    • 六、常用命令

一、环境检查

1.1 必要环境检查

# 查看 gcc 版本
[root@openeuler ~]# gcc --version
# 查看 pcre 版本
[root@openeuler ~]# pcre-config --version
# 查看 zlib 版本
[root@openeuler ~]# dnf list installed | grep zlib
# 查看 openssl 版本
[root@openeuler ~]# openssl version
# 查看 gcc pcre-config openssl 位置
[root@openeuler ~]# readlink -f $(which gcc pcre-config openssl)

1.2 在线安装(有网络)

[root@openeuler ~]# sudo dnf install -y gcc gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel

1.3 离线安装(无网络)

1.3.1 软件包下载
openEuler软件中心:https://easysoftware.openeuler.org/zh/rpm
华为开源镜像站:http://mirrors.huaweicloud.com/openeuler/openEuler-22.03-LTS-SP4/everything/x86_64/Packages/
华中科技大学镜像站:https://mirrors.hust.edu.cn/openeuler/openEuler-22.03-LTS-SP4/everything/x86_64/Packages/

离线包下载:openEuler 22.03 安装 Nginx 所需的依赖包

1.3.2 软件包安装

# 切换到 RPM 包所在目录,假设 RPM 包存放在 /home/rpm_packages 目录下
[root@openeuler ~]# cd /home/rpm_packages
# 正常安装命令
[root@openeuler rpm_packages]# sudo rpm -ivh *.rpm --nodeps
# 强制安装命令
# 重要事项:没把握的话,千万不要用下面这个命令,这个命令会忽略依赖和兼容性,可能会导致基础组件被卸载掉。
[root@openeuler rpm_packages]# sudo rpm -Uvh *.rpm --nodeps --force

小技巧:可以提前在有网络环境下下载安装包,移动到无网络环境
yumdownloader --resolve gcc-c++
yumdownloader --resolve pcre pcre-devel
yumdownloader --resolve zlib zlib-devel
yumdownloader --resolve openssl openssl-devel

二、下载Nginx

2.1 在线下载

# 创建安装目录
[root@openeuler ~]# mkdir /mnt/nginx
[root@openeuler ~]# cd /mnt/nginx/
# 在线下载安装包
[root@openeuler nginx]# wget https://nginx.org/download/nginx-1.28.0.tar.gz

2.2 离线下载

下载地址(Stable version):https://nginx.org/en/download.html
上传到 /mnt/nginx 目录下
在这里插入图片描述

三、安装Nginx

# 进入安装目录
[root@openeuler ~]# cd /mnt/nginx/# 解压安装包
[root@openeuler nginx]# tar -zxvf nginx-1.28.0.tar.gz# 进入解压目录
[root@openeuler nginx]# cd nginx-1.28.0/# 编译并安装,Nginx 默认安装在 /usr/local/nginx 目录下
[root@openeuler nginx-1.28.0]# ./configure   或者   ./configure --prefix=/mnt/nginx/nginx1.28.0
[root@openeuler nginx-1.28.0]# make
[root@openeuler nginx-1.28.0]# sudo make install# 启动 Nginx
[root@openeuler nginx-1.28.0]# sudo /usr/local/nginx/sbin/nginx
#[root@openeuler nginx-1.28.0]# sudo /mnt/nginx/nginx1.28.0/sbin/nginx# 检查是否运行
[root@openeuler nginx-1.28.0]# curl http://localhost# 关闭 Nginx
[root@openeuler nginx-1.28.0]# sudo /usr/local/nginx/sbin/nginx -s stop
#[root@openeuler nginx-1.28.0]# sudo /mnt/nginx/nginx1.28.0/sbin/nginx -s stop

自定义配置(不推荐)

./configure \
--prefix=/usr/local/nginx \
--conf-path=/usr/local/nginx/conf/nginx.conf \
--pid-path=/usr/local/nginx/conf/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--with-http_gzip_static_module \
--http-client-body-temp-path=/var/temp/nginx/client \
--http-proxy-temp-path=/var/temp/nginx/proxy \
--http-fastcgi-temp-path=/var/temp/nginx/fastcgi \
--http-uwsgi-temp-path=/var/temp/nginx/uwsgi \
--http-scgi-temp-path=/var/temp/nginx/scgi

四、开机自启服务

4.1 配置SELinux安全上下文(自定义路径需要用到)
注意:如果不配置SELinux安全上下文,后续启动系统脚本时报错【code=exited, status=203/EXEC】

# 恢复默认上下文(针对自定义路径)
[root@openeuler ~]# sudo semanage fcontext -a -t bin_t "/mnt/nginx/nginx1.28.0/sbin(/.*)?"
[root@openeuler ~]# sudo semanage fcontext -a -t etc_t "/mnt/nginx/nginx1.28.0/conf(/.*)?"
[root@openeuler ~]# sudo restorecon -Rv /mnt/nginx/
# 验证标签
[root@openeuler ~]# ls -Zd /mnt/nginx/nginx1.28.0/sbin/nginx
# 应显示类似:system_u:object_r:bin_t:s0

4.2 配置开机自启脚本

# 创建自启动脚本
[root@openeuler ~]# sudo vi /etc/systemd/system/nginx.service# =============================================================================
# 复制粘贴以下内容: /usr/local/nginx/sbin 需要按照实际情况修改成自己的地址
[Unit]
Description=Nginx HTTP Server
After=network.target[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s quit
PrivateTmp=true[Install]
WantedBy=multi-user.target
# =============================================================================
# 复制粘贴以下内容: /mnt/nginx/nginx1.28.0/sbin需要按照实际情况修改成自己的地址
[Unit]
Description=Nginx HTTP Server
After=network.target[Service]
Type=forking
ExecStart=/mnt/nginx/nginx1.28.0/sbin/nginx
ExecReload=/mnt/nginx/nginx1.28.0/sbin/nginx -s reload
ExecStop=/mnt/nginx/nginx1.28.0/sbin/nginx -s quit
PrivateTmp=true[Install]
WantedBy=multi-user.target
# =============================================================================# 注意:要保证 nginx 后台服务未启动
# 设置开机自启
[root@openeuler ~]# systemctl daemon-reload
[root@openeuler ~]# sudo systemctl enable nginx
# 启动Nginx服务
[root@openeuler ~]# sudo systemctl start nginx
# 查看服务状态
[root@openeuler ~]# sudo systemctl status nginx

五、开放防火墙端口

# 查询端口是否开放
[root@openeuler ~]# sudo firewall-cmd --query-port=80/tcp
# 开放端口(TCP协议)
[root@openeuler ~]# sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
# 重新加载防火墙规则
[root@openeuler ~]# sudo firewall-cmd --reload
# 验证端口是否开放
[root@openeuler ~]# sudo firewall-cmd --zone=public --list-ports
# 查看所有端口
[root@centosServer ~]# sudo netstat -nlpt

六、常用命令

# 启动 nginx 服务
systemctl start nginx.service
# 查看服务状态
systemctl status nginx.service
# 重启服务
systemctl restart nginx.service
# 停止服务
systemctl stop nginx.service
# 开机自动启动
systemctl enable nginx.service
# 取消开机自动启动
systemctl disabled nginx.service
# 查看进程
ps -ef | grep nginx
http://www.xdnf.cn/news/3208.html

相关文章:

  • 基于Spring Boot + Vue 项目中引入deepseek方法
  • PostgreSQL事务与并发清理
  • 阿里云服务迁移实战: 06-切换DNS
  • scGPT-spatial:持续预训练scGPT用于空间转录组
  • 【diffusers 进阶之 PEFT 入门(五)】LoRA 权重如何接着训练?踩坑总结和解决方案
  • 在宝塔面板中安装OpenJDK-17的三种方法
  • K8S - 从零构建 Docker 镜像与容器
  • OpenCV 图形API(73)图像与通道拼接函数-----执行 查找表操作图像处理函数LUT()
  • AdaBoost算法的原理及Python实现
  • Vue ui初始化项目并使用iview写一个菜单导航
  • BUUCTF——Fakebook 1
  • UE 材质 条纹循环发光
  • Android compileSdkVersion、minSdkVersion、targetSdkVersion的关系以及和Unity的关系
  • Qwen3本地化部署,准备工作:SGLang
  • K8S - 从单机到集群 - 核心对象与实战解析
  • 同时启动俩个tomcat压缩版
  • C# 在VS2022中开发常用设置
  • Python 爬取微店商品列表接口(item_search)的实战指南
  • 如何在Windows上实现MacOS中的open命令
  • 网工_ICMP协议
  • Linux-04-用户管理命令
  • Java List分页工具
  • 排序算法——选择排序
  • 微格式:为Web内容赋予语义的力量
  • 【Linux 网络】网络工具ifconfig和iproute/iproute2工具详解
  • 端到端观测分析:从前端负载均衡到后端服务
  • 进程、线程、进程间通信Unix Domain Sockets (UDS)
  • 《操作系统真象还原》第十一章——用户进程
  • Spring 框架中的常见注解讲解
  • Qt窗口关闭特效:自底而上逐渐消失