linux使用nginx搭配vsftpd组件搭建图片服务器
//20201222
写在前面:搭建完个人博客后,在编辑文章需要插入图片时,发现只能用外部链接,这样非常慢,而且不自由,所以想着自己搭建一个图片服务器,这样可以自己上传图片就会更方便
环境配置:
-
首先服务器上得有nginx以及vsftpd组件
-
安装命令如下:
yum -y install nginx
yum -y install vsftpd
配置ftp服务器环境
- 添加ftp用户(就是在home目录下添加一个文件夹,这个文件夹专门用来放ftp服务里的文件)
- 命令如下(以及设置密码命令)
useradd ftpuser
passwd ftpuser
打开防火墙中21端口(我用的是Centos7,防火墙是firewall,服务器是阿里云的,阿里云控制台需要先一步在安全组规则中添加21端口的外网访问权限)
- 命令如下
firewall-cmd --zone=public --add-port=21/tcp --permanent
firewall-cmd --reload
在ftpuser目录下创建images文件,内部用于存放网页中可显示的文件
- 修改selinux(将权限打开,否则无法外网访问)
- 命令如下
getsebool -a | grep ftp #如果该命令提示selinux disable,需要在其配置文件中将selinux打开
#然后更改如下两项的属性(如果一样则不用更改)
setsebool -P ftpd_full_access on
setsebool -P ftpd_home_dir on
修改用户权限(让ftpusr文件夹可以被全局访问)
- 命令如下
chown ftpuser /home/ftpuser
chmod 777 -R /home/ftpuser
设置开机自启动vsftpd服务
- 命令如下:
chkconfig vsftpd on
外网访问
- 直接访问ip地址,看是否跳出页面,如果跳出,则设置成功
配置nginx环境
在nginx配置中做一个映射
- 将nginx的文件夹映射到ftpuser下的文件夹(先在html下创建images文件夹用作映射)
- 命令如下:
mkdir /usr/share/nginx/html/images
- 修改nginx.conf文件,增加映射
vim /etc/nginx/conf/nginx.conf
- 在配置文件中新增如下映射
location /images/ {
root /home/ftpuser/www/;
autoindex on;
}
- 重新启动nginx
service nginx restart
以上,此时访问ip + images就可以访问ftpuser下images文件夹中的内容了(我还有设置子层文件夹,所以具体视情况而定)
希望对大家有所帮助

浙公网安备 33010602011771号