华为欧拉系统离线安装nginx(从0到1安装教程)

1.下载nginx

下载地址: https://nginx.org/en/download.html

下载你们公司指定的版本就可以

推荐下载1.24.0版本

2.上传到服务器上,解压nginx包

#解压命令

tar -zxvf nginx-1.24.0.tar.gz

3.安装nginx相关依赖

这一步要注意,因为我们是华为的欧拉系统,而且是离线环境,安装方式和其他系统会不同

你要下载对应的版本服务包镜像

我这用的是22.03版本,那我就下载这个18.4G的服务包镜像

镜像下载完成之后右键解压

然后找到"Packages"目录

搜索"pcre"

把这几个文件都拷贝到服务器中

然后加载这几个二进制文件,这几个是有相互依赖的,所以需要注意下顺序,执行失败就先执行其他的,再重新执行失败的

rpm -ivh pcre-8.45-5.oe2203sp4.x86_64.rpm 

rpm -ivh pcre-devel-8.45-5.oe2203sp4.x86_64.rpm

rpm -ivh pcre-help-8.45-5.oe2203sp4.noarch.rpm

其中有一个"pcre2-devel-10.39-14.oe2203sp4.x86_64.rpm" 我一直执行失败,不过对于安装nginx好像没影响,我依旧可以正常编译nginx

4.生成 Makefile 可编译文件

./configure --with-http_ssl_module --with-http_stub_status_module

参数说明:

  • –prefix=PATH:指定 nginx 的安装目录(默认/usr/local/nginx)
  • –conf-path=PATH:指定 nginx.conf 配置文件路径
  • –user=NAME:nginx 工作进程的用户
  • –with-pcre:开启 PCRE 正则表达式的支持
  • with-http-realip_module:允许改变客户端请求头中客户端 IP 地址
  • –with-file-aio:启用 File AIO
  • –add-module=PATH:添加第三方外部模块

5.编译和安装

# 编译

make

# 安装

make install

默认的安装路径: /usr/local/nginx

6.启动

cd /usr/local/nginx/sbin
# 启动
./nginx
# 查看进程
ps -ef | grep nginx
# 停止
/usr/local/nginx/sbin/nginx -s stop
# 重启
/usr/local/nginx/sbin/nginx -s restart

现在你的nginx已经安装完成了

7.环境变量

vi /etc/profile

打开后移动到结尾位置并添加环境变量

PATH=$PATH:/usr/local/nginx/sbin
export PATH

编辑完成通过qw保存退出后执行source /etc/profile 进行提交

source /etc/profile

通过echo $PATH 命令查看所有环境变量路径 其中是否含有:/usr/local/nginx/sbin (ngxin/sbin 路径)来确认是否添加成功

echo $PATH

也可以直接执行以下指令进行确认

#启动

nginx

#关闭

nginx -s stop

#重启

nginx -r reload

<think>嗯,用户现在想了解在华为欧拉系统安装container-selinux的问题。之前他们遇到了安装Docker时的依赖问题,特别是缺少container-selinux >= 2:2.74。现在他们可能已经尝试了一些方法,但仍有疑问,或者需要更详细的指导。 首先,我需要确认华为欧拉系统(openEuler)和CentOS或其他RHEL系系统的兼容性。因为之前给出的解决方案提到了CentOS的包,用户可能想知道是否这些方法同样适用于欧拉。可能用户已经尝试了EPEL仓库,但发现欧拉的软件源结构不同,导致安装失败。 接下来,用户可能需要具体的步骤来手动安装container-selinux,或者寻找欧拉官方提供的替代包。需要检查欧拉的仓库中是否有该软件包的不同名称或版本,或者是否有其他依赖需要处理。比如,华为可能有自己的软件仓库,或者推荐使用特定版本的容器工具。 另外,用户可能对安全策略和SELinux的配置有疑问,特别是如果他们在安装后遇到权限问题。需要提醒用户检查SELinux的状态,以及如何调整策略或关闭SELinux(尽管不推荐生产环境这样做)。 还要考虑用户是否在使用不同架构的包,比如aarch64与x86_64的区别,确保提供的下载链接和安装命令正确对应他们的系统架构。之前的回答中提到了aarch64,但需要确认欧拉系统常用的架构是否一致。 可能用户尝试了手动安装CentOS的包,但出现了依赖问题,需要指导如何处理这种情况,比如使用--nodeps强制安装,或者寻找兼容的版本。同时,需要警告用户这样做可能带来的稳定性风险。 另外,是否有替代方案,比如使用Podman或其他容器工具,可能华为欧拉有自己推荐的容器运行时,用户可能更倾向于使用官方支持的工具,而不是Docker。 最后,用户可能需要验证安装后的配置,确保container-selinux正确安装,并且与Docker或其他容器工具兼容。提供检查版本和基本功能的命令会很有帮助。 总结,用户的需求可能包括: 1. 确认在欧拉系统安装container-selinux的正确方法。 2. 处理依赖和兼容性问题。 3. 替代方案或官方推荐的解决方案。 4. 安装后的验证和故障排除。</think>--- ### 一、华为欧拉系统与 container-selinux 的关系 **container-selinux** 是 Linux 容器(如 Docker、Podman)与 SELinux 安全策略交互的核心组件,主要负责: - 定义容器进程的 SELinux 上下文标签 - 控制容器对宿主机资源的访问权限 - 提供默认安全策略规则 在 **华为欧拉(openEuler)** 系统中,由于系统定制化特性,可能出现: 1. 软件包命名差异(如 `selinux-policy-container`) 2. 软件版本与上游 CentOS/RHEL 不同步 3. 依赖链特殊调整(华为可能整合自有安全组件) --- ### 二、3种安装方案 #### ▶ 方案1:通过官方仓库安装(推荐) ```bash # 更新软件源缓存 sudo dnf clean all sudo dnf makecache # 搜索华为欧拉适配的包(注意名称可能变化) sudo dnf search container-selinux # 确认华为提供的替代包名称(常见变体) sudo dnf install selinux-policy-container ``` #### ▶ 方案2:手动安装兼容 RPM 包 ```bash # 下载华为欧拉专用包(以 22.03 LTS 为例) wget https://repo.openeuler.org/openEuler-22.03-LTS/EPOL/main/aarch64/Packages/selinux-policy-container-3.14.3-11.oe2203.noarch.rpm # 安装并跳过依赖检查(慎用) sudo rpm -ivh --nodeps selinux-policy-container-*.rpm # 补充安装依赖(需根据实际报错调整) sudo dnf install libsemanage libselinux-utils ``` #### ▶ 方案3:源码编译安装 ```bash # 安装编译依赖 sudo dnf install git selinux-policy-devel # 克隆华为欧拉适配的源码库 git clone https://gitee.com/src-openeuler/selinux-policy-container.git cd selinux-policy-container # 编译生成 RPM 包 rpmbuild -bb selinux-policy-container.spec # 安装生成的 RPM sudo rpm -ivh ./RPMS/noarch/selinux-policy-container-*.rpm ``` --- ### 三、关键配置验证 #### 1. 检查软件包状态 ```bash # 确认安装版本(华为欧拉可能显示不同包名) rpm -qa | grep -E 'container-selinux|selinux-policy-container' # 验证 SELinux 策略是否加载 semodule -l | grep container ``` #### 2. 调试容器与 SELinux 交互 ```bash # 查看容器进程的 SELinux 上下文 docker run -d --rm alpine sleep 1000 ps -eZ | grep "container_t" # 检查 AVC 拒绝日志(权限问题排查) sudo ausearch -m avc -ts recent ``` --- ### 四、常见问题处理 #### 问题1:`No package available` 错误 **解决方案**: ```bash # 启用华为 EPOL 扩展仓库 sudo dnf install -y epel-release sudo dnf config-manager --set-enabled EPOL ``` #### 问题2:SELinux 策略冲突 **临时调整**: ```bash # 将容器设为 permissive 模式(生产环境慎用) sudo semanage permissive -a container_t ``` --- ### 五、替代方案 如果持续安装失败,可考虑: 1. **禁用 SELinux**(仅限测试环境): ```bash sudo setenforce 0 sudo sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config ``` 2. **使用华为 iSula 容器引擎**(欧拉原生支持): ```bash sudo dnf install -y iSulad sudo systemctl start isulad ``` --- ### 六、版本兼容性参考表 | 欧拉版本 | 推荐 container-selinux 版本 | 对应 Docker 版本 | |------------|-----------------------------|------------------| | openEuler 20.03 LTS | 2.107.3-3.oe1 | 19.03.15 | | openEuler 22.03 LTS | 3.14.3-11.oe2203 | 20.10.21 | | openEuler 23.09 | 3.15.6-2.oe2309 | 24.0.7 | --- 通过以上方法,可在保持系统稳定性的前提下完成安装。**建议优先使用华为官方仓库提供的软件包**,若需手动安装外部 RPM 包,请务必验证数字签名与系统兼容性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

LLNY_suolong

文章对你有帮助,便是最好的事情

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值