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上配置的路徑 下面的所有文件可以直接訪問)