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.mzph.cn/diannao/81126.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于深度学习的图像压缩技术(二)

接上篇:基于深度学习的图像压缩技术(一)-CSDN博客 3 基于生成对抗神经网络的图像压缩技术 生成对抗网络是一种先进的无监督学习算法,由Goodfellow等人在2014 年首次提出,其核心思想源于博弈论。 生成对抗网络在图像压…

TCP和UDP的数据传输+区别

目录 一、数据传输过程 1.1 TCP字节流服务图 1.2 UDP数据报服务图 二、tcp与udp的区别 1.连接方式 2.可靠性 3.传输效率 4.有序性 5.流量控制和拥塞控制 6.应用场景 7.首部长度 三、tcp与udp能不能使用同一个端口号? 四、同一个协议&#xf…

基于ssm的校园旧书交易交换平台(源码+文档)

项目简介 校园旧书交易交换平台的主要使用者分为: 前台功能:用户进入系统可以对首页、书籍信息、校园公告、个人中心、后台管理等功能进行操作; 后台主要是管理员,管理员功能包括主页、个人中心、学生管理、发布人管理、书籍分类…

虚假安全补丁攻击WooCommerce管理员以劫持网站

一场大规模钓鱼攻击正针对WooCommerce用户,通过伪造安全警报诱使他们下载所谓的"关键补丁",实则为植入WordPress后门的恶意程序。 恶意插件植入 根据Patchstack研究人员发现,上当受骗的用户在下载更新时,实际上安装的…

《冰雪传奇点卡版》:第二大陆介绍!

一、第二大陆:高阶资源与实力验证的核心战场 1. 准入条件与地图分布 进入门槛: 基础要求:角色需达到四转(需消耗50万元宝完成转生任务),部分地图需额外满足神魔点数(如黑暗之森需神魔全2&#…

信创系统图形界面开发指南:技术选择与实践详解

信创系统图形界面开发指南:技术选择与实践详解 🧑 博主简介:CSDN博客专家、CSDN平台优质创作者,高级开发工程师,数学专业,10年以上C/C, C#, Java等多种编程语言开发经验,拥有高级工程师证书&…

【人脸去遮挡前沿】三阶段级联引导学习如何突破真实场景遮挡难题?

一、现实痛点:当人脸被遮挡,AI “认脸” 有多难? 你是否遇到过这样的场景? 中考体育测试:2025 年天津泰达街中考考场要求考生 “脸部无遮挡” 才能通过人脸识别入场,戴口罩、帽子的学生需现场调整发型。智能门锁:奇景光电在 CES 2025 推出的 WiseEye 掌静脉模块,通过掌…

c++线程的创建

c 11 线程编程实战 目录 c 11 线程编程实战1,线程的创建1.1 传入无参函数1.2 传入有参函数1.3 传入类内部函数1.4 lambda表达式 1,线程的创建 1.1 传入无参函数 //传入函数,创建线程 void ThreadMain() {//获取线程IDstd::thread::id thi…

人工智能数学基础(六):数理统计

数理统计是人工智能中数据处理和分析的核心工具,它通过收集、分析数据来推断总体特征和规律。本文将系统介绍数理统计的基本概念和方法,并结合 Python 实例,帮助读者更好地理解和应用这些知识。资源绑定附上完整资源供读者参考学习&#xff0…

解决STM32待机模式无法下载程序问题的深度探讨

在现代嵌入式系统开发中,STM32系列微控制器因其高性能、低功耗和丰富的外设资源而广受欢迎。然而,开发者在使用STM32时可能会遇到一个问题:当微控制器进入待机模式后,无法通过调试接口(如SWD或JTAG)下载程序…

C#扩展方法与Lambda表达式基本用法

C# 扩展方法与 Lambda 表达式详解 一、扩展方法详解 1. 基本概念 ​​扩展方法​​允许为现有类型"添加"方法,而无需修改原始类型或创建派生类型。 ​​定义条件​​: 必须在静态类中定义方法本身必须是静态的第一个参数使用this修饰符指…

C#规避内存泄漏的编码方法

C#规避内存泄漏的编码方法 内存泄漏是C#开发中常见的问题,尽管.NET有垃圾回收机制(GC),但不当的编码实践仍可能导致内存无法被及时回收。以下是系统性的规避内存泄漏的方法: 一、理解内存泄漏的常见原因 ​​未释放的事件订阅​​​​静态…

React 后台管理系统

这是一个基于 React TypeScript Ant Design 开发的向明天系统前端项目。 git仓库地址 技术栈 React 19TypeScriptAnt Design 5.xRedux ToolkitReact RouterAxiosLess 环境要求 Node.js (推荐使用最新LTS版本)npm 或 yarn 安装步骤 克隆项目到本地 git clone [https://…

第九节:文件操作

理论知识 文件的基本概念:文件是存储数据的基本单位,在 Linux 系统中,一切皆文件。文件可以是文本文件、二进制文件、设备文件等。文件的创建:使用 touch 命令可以创建一个新的空文件。如果文件已经存在,则更新文件的…

2025-03 机器人等级考试四级理论真题 4级

1 2025年蛇年春晚,节目《秧BOT》机器人舞蹈表演节目点燃了全国观众的热情,请问参加节目表演的机器人是由哪家公司研发?( ) A.大疆 B.华为 C.优必选 D.宇树科技 【参考答…

k8s平台:手动部署Grafana

以下是一个可用于生产环境的 Kubernetes 部署 Grafana 的 YAML 文件。该配置包括 Deployment、Service、ConfigMap 和 PersistentVolumeClaim,确保 Grafana 的高可用性和数据持久化。 Grafana 生产部署 YAML 文件 ☆实操示例 cat grafana-deployment.yaml --- # …

农产品园区展示系统——仙盟创梦IDE开发

<!DOCTYPE html> <html lang"en"><head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>农业大数据平台</title><style>* {margi…

每日Bug:(2)共享内存

对于整个系统而言&#xff0c;主存与CPU的资源都是有限的&#xff0c;随着打开进程数量的增加&#xff0c;若是将所有进程运行所需的代码/数据/栈/共享库都存放在主存中&#xff0c;那么开启一部分进程就可以将主存占用完。 虚拟内存就是解决以上问题的方法&#xff0c;使用虚…

C语言Makefile编写与使用指南

Makefile 详细指南&#xff1a;编写与使用 Makefile 是 C/C 项目中常用的自动化构建工具&#xff0c;它定义了项目的编译规则和依赖关系。下面我将详细介绍 Makefile 的编写和使用方法。 一、Makefile 基础 1. 基本结构 一个典型的 Makefile 包含以下部分&#xff1a; mak…

Centos离线安装Docker(无坑版)

1、下载并上传docker离线安装包 官方地址&#xff1a;安装包下载 2、上传到离线安装的服务器解压 tar -zxvf docker-28.1.1.tgz#拷贝解压二进制文件到相关目录 cp docker/* /usr/bin/ 3、创建docker启动文件 cat << EOF > /usr/lib/systemd/system/docker.servic…