Nginx Ftp 搭建

Centos Nginx Vsftpd 搭建文件服务器

  • 本篇文章记录一下在工作中,使用 Nginx Vsftpd 搭建文件服务器的过程,以及文件索引美化的内容。
    环境如下:
    Centos 7.2
    Nginx 1.14
    Ngx-Fancyindex 0.4.3

Setp 1

  • 首先我们先来安装 Vsftpd 服务.

    # 使用 yum 安装
    $ yum -y install vsftpd
    
    # 创建 ftp 用户及密码
    $ useradd ftpadmin
    $ passwd ftpadmin
    
    # 防火墙开启 21 端口(ftp 默认 21 端口)
    $ vim /etc/sysconfig/iptables
      # 新增规则 如图一
      -A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
    
    # 重启防火墙
    $ service iptables restart
    
    # 修改 Selinux,允许 ftp 外网访问
    # 查看状态 如图二,其他红色标识的两个选项需要改为 on
    $ getsebool -a | grep ftp
    
    # 修改 ftp 选项为 on
    $ setsebool -P allow_ftpd_full_access on
    $ setsebool -P ftp_home_dir on
    
    # 关闭 ftp 匿名访问 如图三
    $ vim /etc/vsftpd/vsftpd.conf
      # 原为 anonymous_enable=NO
      anonymous_enable=YES
    
    # 修改 ftp 所属用户为上面创建的用户 如图四
    $ vim /etc/vsftpd/vsftpd.conf
      chown_username=ftpadmin
    
    # 设置 ftp 开机启动
    $ chkconfig vsftpd on
    
    # 重启 ftp 服务
    $ service vsftpd restart
  • 图一:
    ftp-iptables

  • 图二:
    ftp-selinux

  • 图三:
    ftp-anonymous

  • 图四:
    ftp-chown

Setp 2

  • Nginx 安装

    # 安装 c 依赖
    $ yum -y install gcc gcc-c++ autoconf automake make pcre-devel openssl openssl-devel
    
    # 解压 Nginx 并编译安装
    $ tar -zxvf nginx-1.4.0.tar.gz && cd nginx-1.4.0
    
    $ ./configure \
        --prefix=/usr/local/nginx \
        --pid-path=/var/run/nginx/nginx.pid \
        --lock-path=/var/lock/nginx.lock \
        --error-log-path=/var/log/nginx/error.log \
        --http-log-path=/var/log/nginx/access.log \
        --with-http_gzip_static_module \
        --http-client-body-temp-path=/var/temp/nginx/client \
        --http-proxy-temp-path=/var/temp/nginx/proxy \
        --http-fastcgi-temp-path=/var/temp/nginx/fastcgi \
        --http-uwsgi-temp-path=/var/temp/nginx/uwsgi \
        --http-scgi-temp-path=/var/temp/nginx/scgi \
        --add-module=ngx-fancyindex-0.4.3  # 该模块用来美化 ftp 目录,在 github 上下载到 nginx-1.4.0 目录下即可 https://github.com/aperezdc/ngx-fancyindex
    
    $ make && make install
    
    # 配置 nginx,将目录地址指向 ftp 目录位置,我们的目录为: /home/ftpuser
    $ vim /usr/local/nginx/conf/nginx.conf
      location / {root /home/ftpuser;}
    
    # 重新加载 nginx,访问 http://localhost/ 即可看见文件目录了
    $ ./nginx -s reload

Setp 3

  • 下面我们将 Nginx 页面进行美化一下(现在的样子实在是有点不过关)

    # 下载 Nginx-Fancyindex-Theme,目前有两种主题比较好,地址如下,我们选择第一种
    # https://github.com/Naereen/Nginx-Fancyindex-Theme
    # https://github.com/TheInsomniac/Nginx-Fancyindex-Theme
    # 进入 nginx web 目录,并克隆项目
    $ cd nginx && git clone https://github.com/Naereen/Nginx-Fancyindex-Theme
    
    # 修改 nginx 配置文件,导入样式文件 如图一
    $ vi conf/nginx.conf
      include /home/weblogic/software/nginx-1.14/Nginx-Fancyindex-Theme/fancyindex.conf;
    
    # note:需要注意的是,我们需要把 Nginx-Fancyindex-Theme 目录全部拷贝一份到 ftp 根目录下,不然会报 404,如图二
    $ cp -R Nginx-Fancyindex-Theme /home/ftpuser
    
    # 重新加载 nginx 即可
    $ ./nginx -s reload
  • 图一:
    ftp-theme

  • 图二:
    ftp-theme-path

Setp 4

  • 我们来检查一下最终的效果,访问 http://localhost/ ,我们看到的内容会如下图一下,美观、大方、简洁、漂亮!

    ftp-ftp-over1

    ftp-ftp-over2



Nginx     

本博客所有文章除特别声明外,均采用 CC BY-SA 3.0协议 。转载请注明出处!