nginx 自定义web目录 permission denied (403错误 ) centos7 SELinux

本文介绍了在CentOS7系统中,由于开启SELinux导致nginx自定义web目录时出现403 Forbidden错误的解决过程。通过调整文件权限和设置SELinux上下文,成功解决了问题,同时强调了不应降低安全级别来解决问题。
摘要由CSDN通过智能技术生成

nginx 自定义web目录 permission denied (403错误 ) centos7 SELinux

如标题:

  1. 系统环境为centos7;
  2. web服务软件为:nginx;
  3. SELinux安全服务为开启状态,并且setenforce 值为enforcing,即强安全防护;

问题:nginx默认web目录为/usr/share/nginx/html,但是由于某些原因,我希望能自定义web目录到/www。就这样,让我遇见了大麻烦!!!(耗费N个工作日),但我访问我的网站时总是提示403错误!
先说当你希望自定义nginx目录时需要做些什么;免得朋友们着急:
如果你的系统为centos7,并且开启了SELinux(比文件类型更强的安全防护),那么在你自定义nginx 的web目录时,你需要执行以下两个命令:

 chcon -R -u system_u /xxx/
 chcon -R -t usr_t /xxx/
CentOS 7上使用Docker创建自定义Nginx镜像,你可以按照以下步骤操作: 1. 首先确保你已经安装了Docker环境。如果尚未安装,可以通过官方提供的脚本或者使用yum安装Docker。 2. 安装完成后,下载一个官方的Nginx基础镜像作为起点。你可以通过运行以下命令来实现这一点: ``` docker pull nginx ``` 3. 接下来,创建一个文件夹来存放你将要自定义Nginx配置文件和网站文件: ``` mkdir -p ~/nginx-custom-conf ``` 4. 将你的Nginx配置文件(通常是nginx.conf)复制到该文件夹中。例如,你可以使用`nginx.conf.default`作为默认配置,并做适当修改: ``` cp /etc/nginx/nginx.conf ~/nginx-custom-conf/nginx.conf ``` 5. 之后,你需要编写一个Dockerfile来定义你的自定义Nginx镜像。在Dockerfile中,你将指定基础镜像,复制配置文件,以及指定容器启动时执行的命令。以下是一个简单的Dockerfile示例: ``` # 使用官方的Nginx镜像作为基础镜像 FROM nginx:latest # 复制自定义nginx配置文件到容器中的相应位置 COPY nginx.conf /etc/nginx/nginx.conf # 复制你的网站文件到容器中的相应位置,这里假设是html文件夹 COPY html /usr/share/nginx/html # 指定容器启动时执行的命令 CMD ["nginx", "-g", "daemon off;"] ``` 6. 在你的Dockerfile所在的目录下,构建你的自定义Nginx镜像: ``` docker build -t my-own-nginx . ``` 7. 构建完成后,你可以通过以下命令查看你的镜像是否创建成功: ``` docker images ``` 8. 最后,使用以下命令启动你的自定义Nginx容器: ``` docker run -d -p 80:80 my-own-nginx ``` 这样你就创建并运行了一个带有自定义配置和网站文件的Nginx Docker容器。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值