计算机系统应用教程网站

网站首页 > 技术文章 正文

docker安装nginx搭建简单文件共享服务

btikc 2025-01-15 11:05:23 技术文章 17 ℃ 0 评论

使用nginx开启目录浏览功能,实现简单的http文件共享服务。

一、 首先拉取nginx镜像,我使用的是arm32v7/nginx镜像。

docker pull arm32v7/nginx

二、运行一个临时的nginx实例,复制容器内的nginx.conf配置文件到主机上

docker run --name tmp-nginx-container -d arm32v7/nginx
docker cp tmp-nginx-container:/etc/nginx/nginx.conf /root/download/docker/nginx/nginx.conf
docker rm -f tmp-nginx-container

修改nginx.conf文件,在http{}内添加以下内容,开启目录浏览功能

autoindex on; #开启nginx目录浏览功能 
autoindex_exact_size off; #文件大小从KB开始显示  
autoindex_localtime on; #显示文件修改时间为服务器本地时间 
charset utf-8,gbk;#解决中文乱码问题


三、运行nginx实例,添加配置文件

docker run -d --name nginx_downloads -v /root/download/downloads/:/usr/share/nginx/html -v /root/download/docker/nginx/nginx.conf:/etc/nginx/nginx.conf:ro -p 8080:80 --restart unless-stopped arm32v7/nginx

-d 后台运行
–name 为生成的实例的名字
-v 添加我的下载目录为网站的根目录
-v 将修改后的nginx.conf文件替换实例内的conf文件
-p 映射主机8080到实例的80端口
arm32v7/nginx为要实例化的镜像

打开localhost:8080或你主机ip:8080查看网页



四、特殊情况,网页403禁止访问

可能你按照上面配置好了之后,打开网页还是显示403不能访问。造成这个问题的原因是容器内的nginx程序是以nginx用户运行的,在本机上没有nginx用户,所以没有权限读取网站根目录。检查映射的网站根目录,给所有人设置读和执行的权限。
对应我的情况,就是执行如下命令。

chmod -R 755 /root/download/downloads

然后重启一下docker的nginx容器

docker restart nginx_downloads

Tags:

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表