使用vsftpd服务(FTP)和Nginx(http)搭建图片服务器

使用vsftpd服务(FTP)和Nginx(http)搭建图片服务器

最近在重新学习淘淘商城项目,而在搭建图片服务器这部分内容,视频并没有讲解的很详细,搭建过程也是相当坎坷。为了避免自己再次入坑,也为了广大的后生着想,特地将过程记录下来,给大家做参考。废话不多说,马上进入正题。

1 背景

1.1 搭建环境

  • 主机:Ubuntu 18.04(这个对搭建服务器的影响不是很大,可以忽略)
  • 虚拟机:centos 7
  • 虚拟机软件:virtualBox
  • FTP测试软件:FileZilla

1.2 搭建步骤

  1. 给虚拟机配置静态IP,便于访问以及日后的集群
  2. vsftp服务环境配置
  3. nginx的安装及配置

2 虚拟机配置静态IP地址

2.1 虚拟机网络模式

网卡的网络模式有三种,这里选择“桥接网卡”模式。此模式需要配置IP,主机相当于一台交换机,而虚拟机相当于局域网中一台独立的电脑:既可以访问外网,也可以与主机相互访问。
在这里插入图片描述

2.2 更改虚拟机的配置文件

  1. 进入网卡的配置文件夹,并备份配置文件:
    cd /etc/sysconfig/network-scriptscp ifcfg-eth0 ifcfg-eth0-cp
  2. 修改配置文件:vim ifcfg-eth0
    TYPE="Ethernet"
    PROXY_METHOD="none"
    BROWSER_ONLY="no"
    #此处需改为静态地址
    BOOTPROTO="static"
    DEFROUTE="yes"
    #设置静态IP地址,需在同一个网段
    IPADDR="192.168.1.110"
    #设置至网掩码:与主机保持一致
    NETMASK="255.255.255.0"
    #网关:与主机IP地址一致
    GETWAY="192.168.1.102"
    NAME="eth0"
    UUID="XXXXXXXXXXX"
    DEVICE="eth0"
    ONBOOT="yes"
    
  3. 重启网卡:service network restart
    查看虚拟机网卡IP是否与设置的静态IP一致,如一致则静态IP设置成功

至此,静态IP已配置完毕。无论怎么重启,静态IP都会生效。只要主机和虚拟机在同一个网段,那么都可以互相访问。

3 vsftp服务配置

3.1 常用的命令及配置路径

3.1.1 vsftpd服务的安装
  • 安装: yum -y install vsftpd
  • 查看vsftpd服务状态:systemctl status vsftd.service
  • 启动vsftpd服务:systemctl start vsftpd.service
3.1.2 端口设置

虽然虚拟机已经安装了vsftpd服务,但是主机仍然无法访问上传文件到虚拟机。原因是:21端口没有开启。
输入以下命令即可:
首先,需要开启iptables服务(以下代码包含了iptables的安装服务,如果/etc/sysconfig中已经有iptables文件,则可跳过此段)

#开启iptables服务
iptables -P OUTPUT ACCESS
systemtcl stop firewalld
yum install iptables-service
systemctl enable iptables
systemctl start iptables
service iptables save

修改配置文件

cd /etc/sysconfig/
#如附图修改
vi iptables

#修改后重启服务
service iptables restart

附录:配置文件iptables如下图所示,将22改为21,其余不变
在这里插入图片描述

3.1.3 修改Selinux

键入如下命名即可修改:

getsebool -a |grep ftp

setsebool -P allow-ftpd-full-access on

setsebool -P tftp-home-dir on
3.1.4 关闭匿名访问
vi /etc/vsftpd/vsftpd.conf

#将anonymous-enable改为NO
anonymous-enables=NO

#重启vsftpd服务
service vsftpd restart
3.1.5 开启被动模式
vi /etc/vsftpd/vsftpd.conf

#添加端口范围
pasv_min_port=30000
pasv_max_port=30999

#重启vsftpd服务
service vsftpd restart
3.1.6 开机自动启动
chkconfig vsftpd on

3.2 建立专用的用户

#useradd命令会自动生成/home/ftpuser
useradd ftpuser
#配置密码
passwd ftpuser

3.3 主机访问测试

利用FileZilla可以很方便的访问ftp服务,如下图:
在这里插入图片描述

4 Nginx服务安装及配置

4.1 Nginx服务安装

#配置rpm源
sudo rpm -ivh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-7-0.el7.ngx.noarch.rpm

#yum安装
yum install nginx

#开启服务
systemctl enable nginx

#启动服务
systemctl start nginx

#重启服务
systemctl restart nginx

#重载服务
systemctl reload nginx

4.2 开启防火墙

#开启http和ftp服务
firewall-cmd --zone=public --permanet --add-service=http
firewall-cmd --zone=public --permanet --add-service=ftp

#重载防火墙
firewall-cmd --reload
#显示防火墙服务
sudo firewall-cmd --list-service

4.3 常见错误

4.3.1 有关404错误
  1. 访问权限不足
    使用chmod 777 -R /home/ftpuser/www更改权限

  2. nginx配置文件:nginx.conf

    #将root nginx改为root root
    root root;
    
  3. 更改nginx根目录:default.conf

    cd /etc/nginx/con.f
    #修改配置文件,如下图所示
    vi default.conf
    
  4. 附图:更改location里面的root路径即可(alias路径也可以,自己琢磨)
    在这里插入图片描述

4.3.2 有关403错误

多半由于selinux服务引起的,关闭即可解决。

修改配置文件 /etc/ selinux/config,将SELINUX=enforcing改为SELINUX=disabled

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值