首先搭建vsftp前我们先安装好nginx,这样我们就可以更加方便的访问文件服务器
安装依赖:
开启防火墙端口:
我们把nginx和vsftp要用到的端口先开启,免得后面出错
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --zone=public --add-port=443/tcp --permanent
firewall-cmd --zone=public --add-port=22/tcp --permanent
firewall-cmd --zone=public --add-port=21/tcp --permanent
firewall-cmd --zone=public --add-port=30000-30999/tcp --permanent
将以上5条命令逐一执行就行了。
完成以上安装和设置,就可以开始安装nginx了。
第一步:下载nginx
wget -c https://nginx.org/download/nginx-1.10.1.tar.gz
第二步:解压
tar -zxvf nginx-1.10.1.tar.gz
cd nginx-1.10.1
第三步:编译和安装nginx
./configure
make
make install
安装过程中加入发生错误
例如:把警告当错误
解决方法:(./configure 后才有objs/Makefilez这个文件 )
进入objs/Makefile文件 删除 -werror 貌似在第一行的
例如:错误:'struct crypt_data'没有参加'current_salt'的成员
解决方法:
例如:出现 出现这种问题的解决方法 nginx: [emerg] mkdir() "/var/temp/nginx/client" failed (2: No such file or directory)
解决方法:
sudo mkdir -p /var/temp/nginx
第四步:启动nginx:
第一次启动nginx没问题,如果重启了一下虚拟机,再次到nginx的sbin目录下执行./nginx
,出现下图所示的错误:
解决方法:
第一步: 安装vsftp
yum -y install vsftpd
第二步:添加ftp用户
useradd ftpuser
第三步:给ftp用户设置密码
passwd ftpuser
之后连续输入两次密码即可
第四步:修改selinux(假如你的是阿里巴巴或者腾讯云 可以忽略此步骤)
getsebool -a | grep ftp
看到以下两个为:
allow_ftpd_full_access --> off
ftp_home_dir --> off
将这两个都off,执行如下命令设置为on:
setsebool -P ftpd_full_access on
setsebool -P ftp_home_dir on
再次执行getsebool -a | grep ftp
看到那两个状态是on就行了。
第五步:关闭匿名访问
vim /etc/vsftpd/vsftpd.conf
还要在vsftp.conf文件最下面添加以下内容:
然后保存退出即可。
第六步:设置开机启动
chkconfig vsftpd on
查看vsftp是否启动成功,输入以下命令
service vsftpd status
显示信息为is running(表示为启动状态)
如果为 is stopped(表示为关闭状态)
假如为关闭状态
service vsftpd start 或者 可以使用 service vsftpd stop, 然后 service vsftpd start 又或者 service vsftpd restart
第七步:测试是否安装成功(需要软件 filezilla)下载地址:
https://filezilla-project.org/download.php?show_all=1&type=server
打开filezilla工具,输入虚拟机的ip,21端口,用户名和密码,点击快速连接,连接vsftp服务:
如图所示即链接成功
按照以上步骤安装好nginx和vsftp后,还是不能访问上传的图片的,需要进行如下配置:
执行 vim /usr/local/nginx/conf/ nginx.conf
再然后设置ftpuser文件夹的可读权限
chmod -R 755 /home/ftpuser
设置后可以尝试着放一张图片进行访问:如图
至此图片服务器搭建完成!下篇文章将介绍如何用代码实现图片上传于文件上传