搭建Nginx+Ftp出现的问题

1.端口被占用

启动nginx时显示

nginx: [emerg] bind() to 0.0.0.0:888 failed (98: Address already in use)

杀死占端口的进程或者改相应的默认的端口号
我的是docker占用了80端口所以service docker stop 就ok了

2.重启虚拟机后,再次重启nginx会报错:

open() “/var/run/nginx/nginx.pid” failed (2: No such file or
directory)

1.进入 cd /usr/local/nginx/conf/ 目录,编辑配置文件nginx.conf ;
2.在配置文件中有个注释的地方: #pid logs/nginx.pid;
3.将注释放开,并修改为:pid /usr/local/nginx/logs/nginx.pid;
4.在 /usr/local/nginx 目录下创建 logs 目录:mkdir /usr/local/nginx/logs
5.启动nginx服务:/usr/local/nginx/sbin/nginx

3.无法通过http://IP地址/images/2.png访问

参考 https://blog.csdn.net/csdn_lqr/article/details/53334583
一、安装Nginx
先安装Nginx,看我之前发的文章: 搭建Nginx服务器

二、安装vsftpd
再安装vsftpd组件,看我之前发的文章: Linux安装ftp组件(8步完成)

三、开始搭建Nginx图片服务器
1、效果
例如:图片通过ftp服务上传到/home/ftpuser/www/images目录下,我想通过访问Nginx服务器来访问ftp目录下的图片文件,该url为http://192.168.128.128/images/xxx.jpg。即使用http请求访问原本需要使用ftp请求才能访问到的资源文件。(不懂可先看最后图解测试)

2、实现
①需要在nginx/html下创建一个images文件夹(实际访问的不是这个路径)
mkdir /usr/local/nginx/html/images

②修改nginx/conf/nginx.conf在默认的server里再添加一个location并指定实际路径:
location /images/ {
root /home/ftpuser/www/;
autoindex on;
}

修改完后需要重新启动nginx

./nginx -s reload

说明

1)root则是将images映射到/home/ftpuser/www/images/
2)autoindex on便是打开浏览功能。

注意

1)ftpuser这个用户需要自己创建,在Linux安装ftp组件(8步完成)已经创建过,所以在这里不再创建,若没有,则需要自己创建,名字任意。
2)root /home/ftpuser/www/这后面是不带images的且root后面要有空格。www目录下有images目录,用于存放图片!!

③修改用户访问权限
chown ftpuser /home/ftpuser
chmod 777 -R /home/ftpuser


作者:GitLqr
来源:CSDN
原文:https://blog.csdn.net/csdn_lqr/article/details/53334583
版权声明:本文为博主原创文章,转载请附上博文链接!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值