nginx+vsftp搭建图片服务器
在写小程序项目的时候需要用到图片服务器,没有云服务器,只能自己搭建,linux最好是静态ip,动态ip的话,如果虚拟机的地址发生变化,访问路径也在改变,影响做项目进展。
1.环境
nginx是C语言开发,建议在linux上运行,本教程使用Centos 7作为安装环境。先要安装如下东西:
1.gcc
yum install gcc-c++
2.pcre
yum install -y pcre pcre-devel
3.zlib
yum install -y zlib zlib-devel
4.openssl
yum install -y openssl openssl-devel
5.开启防火墙端口
先把nginx和vsftp需要用到的端口先开启,以免后面出错
1 | firewall-cmd --zone=public --add-port=80/tcp --permanent |
逐条运行以上命令就可以。
2.安装nginx
1.下载nginx
1 | wget -c https://nginx.org/download/nginx-1.8.0.tar.gz |
可以上nginx官网看一下,把版本号改成自己需要的
2.解压
1 | tar -zxvf nginx-1.8.0.tar.gz |
3.设置编译参数
1 | ./configure \ |
直接将这段代码复制粘贴的linux中执行就可以
4.编译
1 | make |
5.安装
1 | make install |
6.启动nginx
1 | cd /usr/local/nginx/sbin |
执行这个命令后是没有任何提示的,然后在浏览器中访问虚拟机的ip,出现nginx欢迎页则安装成功。
7.关闭nginx
关闭nginx:
在刚才的sbin目录下执行:
1 | ./nginx -s stop |
遇到的坑
第一次启动nginx没问题,但是如果重启虚拟机,再次到ngin的sbin目录下执行./nginx,出现以下错误
"var/run/nginx/nginx.pid" no such file or directory
解决办法
在linux中输入,修改nginx.conf配置文件
1 | vi /usr/local/nginx/conf/nginx.conf |
将#pid logs/nginx.pid前面的#号去掉,之后:wq保存退出
3.vsftp的安装
1.安装
2.添加ftp用户
3.给ftp用户添加密码
输入两次密码后修改密码
4.修改selinux
- 查看状态
执行之后可以看到
1 | allow_ftpd_full_access --> off |
两个都是off,执行下面命令设置on
1 | setsebool -P ftpd_full_access on |
再次执行getsebool -a | grep ftp看到那两个状态是on就行了。
5.关闭匿名访问
1 | vi /etc/vsftpd/vsftpd.conf |

还要在vsftp.conf文件最下面添加
1 | pasv_min_port=30000 |
6.设置开机启动
1 | chkconfig vsftpd on |
4.配置nginx为图片服务器
1 | vi /usr/local/nginx/conf/ nginx.conf |
命令,打开nginx的配置文件:

设置ftpuser文件夹可读权限,执行如下命令:
1 | chmod -R 755 /home/ftpuser |
可以使用xftp等文件传输工具将图片传送至虚拟机

