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文件夹中的内容了(我还有设置子层文件夹,所以具体视情况而定)
希望对大家有所帮助

posted @ 2020-12-22 21:48  醉生梦死_0423  阅读(184)  评论(0)    收藏  举报