linux上搭建nginx+ftp,實現文件的上傳與訪問


 ftp服務器搭建

1、新建用戶ftpuser並指定主目錄為/home/ftpuser

(注意:這個目錄是后面存儲和讀取文件的目錄)

<!--創建用戶並指定主目錄-->
useradd -d /home/ftpuser  -m ftpuser  
<!--修改密碼為:Zxit@2018-->
passwd  ftpuser  
Zxit@2018
<!--查看-->
cat /etc/passwd

2、ftp安裝

<!--查看是否安裝ftp-->
 rpm -qa |grep vsftpd
<!--沒有則進行安裝-->
yum install -y vsftpd

3、配置

注:1、ftp默認的安裝目錄為/etc/vsftpd/

        2、添加內容:藍色部分表示修改,黃色部分表添加

<!--進入配置文件編輯模式-->
vim /etc/vsftpd/vsftpd.conf
<!--配置如下-->
# 允許匿名用戶訪問:公網,為了安全選擇關閉
anonymous_enable=NO
# 被動模式:公網,為了安全開啟被動模式
connect_from_port_20=NO

pasv_enable=YES
pasv_min_port=24322 pasv_max_port=24325 pasv_address=**.**.**.243 
# 讓vsftpd同時支持IPv4和IPv6
listen_ipv6=YES
pam_service_name=vsftpd
# 只允許名單內用戶登錄userlist_enable=YES
# 限制用戶的ip地址登錄
tcp_wrappers=YES
#指定文件存儲位置:即上面創建用戶時指定的主目錄local_root=/home/ftpuser allow_writeable_chroot=YES
#修改端口:默認端口是21
listen_port=24321

 

 

4、啟動ftp

<!--啟動-->
systemctl start vsftpd.service
<!--查看狀態-->
systemctl status vsftpd.service
<!--查看進程-->
ps -ef | grep ftp

 

 

 

nginx安裝

1、用腳本自動安裝nginx

<!--新建auto_install_nginx.sh-->

<!--寫入以下內容-->

#!/bin/bash
##2019 03 12 15:45:55
###設置相關參數
NGINX_URL=http://nginx.org/download/nginx-1.14.2.tar.gz
#NGINX_YL=gcc openssl openssl-devel zlib zlib-devel gcc-c++ pcre pcre-devel libgcc
NGINX_HOME=/usr/local/nginx
###下載安裝包###
wget $NGINX_URL
###安裝相關依賴包###
yum install -y gcc openssl openssl-devel zlib zlib-devel gcc-c++ pcre pcre-devel libgcc
###解壓並進入到相關目錄###
tar -xzf nginx-1.14.2.tar.gz
cd nginx-1.14.2/
###預編譯###
./configure --prefix=$NGINX_HOME --with-http_stub_status_module --with-http_ssl_module
###編譯###
make
###安裝###
make install
###啟動###
$NGINX_HOME/sbin/nginx
###關閉防火牆###
service firewalld stop
###查看進程###
ps -ef | grep nginx
###查看端口
netstat -ntlp | grep 80


<!--執行並安裝nginx-->
auto_install_nginx.sh

2、啟動ftp的nginx

<!--進入nginx配置文件目錄-->
cd /usr/local/nginx/conf/
<!--復制配置文件-->
 cp  nginx.conf nginx_ftp.conf
    
<!--進入nginx配置文件目錄-->
cd /usr/local/nginx/conf/
<!--復制配置文件-->
 cp  nginx.conf nginx_ftp.conf
<!--進入配置文件編輯模式-->
vim nginx_ftp.conf
<!--配置如下-->
    server {
        listen 24388;
        server_name 127.0.0.1;
        location / {
            root /home/ftpuser;
        }
        error_page 500 502 503 504 /50x.html;
        location = /50x.html {
            root html;
        }
    }
<!--啟動-->
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx_ftp.conf
<!--查看進程-->
ps -ef | grep nginx
                    

 

開放端口

將剛剛配置的端口24321-24325(ftp)、24388(nginx_ftp)開放出來。注意:如果有firewalld之類的防火牆,也要注意開放端口。為了方便,我這里直接將防火牆關閉了。

 

 

上傳文件測試

1、找一台能連ftp服務器的電腦,連接ftp並上傳文件

<!--連接ftp服務器-->
ftp
open **.**.**.243 24321
ftpuser
Zxit@2018
<!--上傳文件-->
put C:\Users\admin\Downloads\gl_android.png

 

 

2、解決報錯:

500 Illegal PORT command.
425 Use PORT or PASV first.

<!--是因為剛剛在ftp配置文件中,我配置的是被動模式,所以這里需要切換為被動模式-->
LITERAL PASV
<!--再次測試上傳-->
put C:\Users\admin\Downloads\gl_android.png

 

 

3、查看文件是否上傳成功

<!--進入主目錄-->
cd /home/ftpuser/
<!--查看-->
ll

 

這里看到文件已經成功上傳上來了。

訪問文件測試

用nginx轉發訪問剛剛上傳的文件,訪問路徑:ip+nginx_ftp端口+文件目錄+文件名(注意:剛剛在nginx上配置的路徑 下面的所有文件可以直接訪問)

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM