核工业华南建设集团网站,HTML建网站,成都小程序开发公司有哪些,安宁网站建设与制作文章目录 前言一、拉取Nginx镜像二、创建挂载目录三、运行容器化Nginx服务器四、访问网页测试 总结 前言
运行容器化Nginx服务器#xff0c;首先确保正确安装docker#xff0c;并且已启动运行#xff0c;具体安装docker方法见笔者前面的博文《OpenEuler 下 Docker 安装、配… 文章目录 前言一、拉取Nginx镜像二、创建挂载目录三、运行容器化Nginx服务器四、访问网页测试 总结 前言
运行容器化Nginx服务器首先确保正确安装docker并且已启动运行具体安装docker方法见笔者前面的博文《OpenEuler 下 Docker 安装、配置与测试实例》。本次实测环境如下 1、宿主机win10谷歌浏览器IP地址为192.168.157.1 2、VMware Workstation pro17 3、安装1个虚拟机OpenEuler 24.03IP地址为192.168.157.128 4、xshell7 具体实验思路如下 虚拟机OpenEuler 24.03中安装dockerOpenEuler这里成为docker的宿主机 使用docker命令拉取Nginx镜像设置挂载目录及配置文件、项目文件运行容器化Nginx在Win10浏览器中测试访问Nginx服务器显示网页效果。示意图如下
一、拉取Nginx镜像
使用Docker命令拉取Nginx镜像
docker pull nginx二、创建挂载目录
在宿主机中根目录/root下创建docker Nginx所需的挂载目录包括配置文件目录、日志文件目录和项目文件目录
mkdir /root/conf
mkdir /root/logs
mkdir /root/html在 /root/nginx/conf目录下创建空配置文档
vim nginx.conf在 /root/html目录下创建项目文件也就是测试网站的首页index.html内容如图所示
三、运行容器化Nginx服务器
运行Niginx服务的命令行如下
docker run -id --namenginx01 \-p 80:80 \-v $PWD/conf/nginx.conf:/etc/conf/nginx.conf \-v $PWD/logs:/var/log/nginx \-v $PWD/html:/usr/share/nginx/html \nginx
下面是对 docker run 命令的详细注释这个命令用于启动一个名为 nginx01 的 Docker 容器并对其进行配置
docker run -id --namenginx01 \ # 使用 docker run 命令创建并启动一个容器# -i 选项让容器的标准输入STDIN保持打开状态即使没有附加到容器终端。# -d 选项让容器在后台运行。# --namenginx01 为容器指定一个名称这里是 nginx01。-p 80:80 \ # 将容器内部的端口 80 映射到宿主机的端口 80 上。# 这意味着访问宿主机的 80 端口将被转发到容器的 80 端口。-v $PWD/conf/nginx.conf:/etc/nginx/nginx.conf \ # 将当前目录下的 conf/nginx.conf 文件挂载到容器的 /etc/nginx/nginx.conf。# $PWD 是当前工作目录的环境变量它会被替换为当前目录的完整路径。# 这意味着你可以在宿主机上编辑 nginx 配置文件而容器内的变化会立即生效。-v $PWD/logs:/var/log/nginx \ # 将当前目录下的 logs 目录挂载到容器的 /var/log/nginx。# 这样nginx 的日志文件会保存在宿主机的 logs 目录中。-v $PWD/html:/usr/share/nginx/html \ # 将当前目录下的 html 目录挂载到容器的 /usr/share/nginx/html。# 这意味着你的网站文件应该放在宿主机的 html 目录中nginx 会从这个目录提供静态文件服务。nginx # 指定要运行的 Docker 镜像这里是 nginx。这个命令将创建一个名为 nginx01 的容器使用官方的 nginx 镜像并设置端口映射和挂载卷以便你可以在宿主机上管理 nginx 的配置文件、日志和网站内容。容器将在后台运行并且可以通过访问宿主机的 80 端口来访问 nginx 服务。 执行完成命令通过docker ps查看容器目录挂载情况如图所示
四、访问网页测试
在win7中的浏览器中访问http://192.168.157.128检查Nginx是否正常工作。结果如图所示
总结
在实际测试过程中可能出现无法访问Nginx服务器的情况如图所示。 这里出现这种情况是没有创建测试网站的index.html文件所导致的。 当你在使用 Docker 部署的 Nginx 时遇到 403 Forbidden 错误这通常意味着服务器理解了请求但是拒绝执行。这个问题可能由多种原因引起以下是一些可能的原因和相应的解决方案 文件或目录权限不正确 确保 Nginx 进程运行的用户通常是 nginx 或 www-data有权读取文件和访问目录。通常web 目录的权限应设置为 755文件权限设置为 644。可以使用以下命令调整权限sudo chmod -R 755 /path/to/webroot
sudo chown -R nginx:nginx /path/to/webroot错误的 Nginx 配置 检查 Nginx 配置文件特别是 deny 指令、root 和 alias 的配置确保它们正确无误。移除或调整任何不恰当的 deny 指令确保 root 或 alias 指向正确的目录。检查配置后重新加载 Nginx 配置sudo nginx -t
sudo systemctl reload nginxSELinux 阻止访问 如果你确定 SELinux 配置是问题所在可以临时更改 SELinux 的模式来确认这一点sudo setenforce 0如果这解决了问题考虑调整 SELinux 策略而不是永久禁用它。使用 chcon 或 semanage 命令为 Nginx 设置正确的访问上下文sudo restorecon -Rv /path/to/webroot
sudo semanage fcontext -a -t httpd_sys_content_t /path/to/webroot(/.*)?
sudo restorecon -R /path/to/webrootautoindex 关闭 如果你希望列出目录中的文件确保在 Nginx 配置文件中的相关 location 块中启用 autoindexlocation /some/path/ {autoindex on;
}防火墙或安全软件限制 检查是否有防火墙或安全软件阻止了对 Nginx 的访问。 Docker 端口映射配置错误 确保在启动容器时正确使用了 -p 或 --publish 参数指定端口映射。 Nginx 配置文件错误 检查 Nginx 的配置文件是否有语法错误可以使用 nginx -t 命令测试配置文件是否正确。
解决这些问题后通常可以解决 403 Forbidden 错误。如果问题仍然存在可能需要进一步检查日志文件以获取更详细的错误信息。