使用vsftpd+nginx搭建一個文件服務器


一:安裝vsftpd

1.安裝

[root@localhost jack]# yum -y install vsftpd 

安裝完后,有/etc/vsftpd/vsftpd.conf 文件,是vsftp配置文件。

2.添加用戶和密碼

[root@localhost jack]# useradd ftpadmin 

為ftp創建一個用戶,可以用這個登錄,登錄后默認的路徑為 /home/ftpadmin

[root@localhost jack]# passwd ftpadmin

輸入兩次給ftpadmin 添加密碼

3.防火牆開啟21端口

因為ftp默認的端口為21,而centos默認是沒有開啟的,所以要修改iptables文件

[root@localhost jack]# vim /etc/sysconfig/iptables

添加一條: -A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT

輸入":wq" 保存,

[root@localhost jack]# service iptables restart

重啟防火牆,

4.修改selinux

外網是可以訪問上去了,可是發現沒法返回目錄(使用ftp的主動模式,被動模式還是無法訪問),也上傳不了,因為selinux作怪了。

修改selinux

執行以下命令查看狀態:

[root@localhost jack]# getsebool -a | grep ftp  

allow_ftpd_anon_write --> off

allow_ftpd_full_access --> off

allow_ftpd_use_cifs --> off

allow_ftpd_use_nfs --> off

ftp_home_dir --> off

ftpd_connect_db --> off

ftpd_use_passive_mode --> off

httpd_enable_ftp_server --> off

tftp_anon_write --> off

執行上面命令,再返回的結果看到兩行都是off,代表,沒有開啟外網的訪問

[root@localhost jack]# setsebool -P allow_ftpd_full_access on

[root@localhost jack]# setsebool -P ftp_home_dir on

5.關閉匿名訪問,

編輯vsftpd的配置文件 [root@localhost jack]# vi /etc/vsftpd/vsftpd.conf  

修改: anonymous_enable=YES 為 anonymous_enable=NO

6.設置開機啟動vsftpd ftp 服務

[root@localhost jack]# chkconfig vsftpd on

 7.操作命令

啟動Vsftpd服務:

# service vsftpd start

停止Vsftpd服務的命令為:

# service vsftpd stop  

重新啟動Vsftpd服務

# service vsftpd restart  

檢查Vsftpd服務狀態

service vsftpd status  

二: nginx 安裝

1.可能需要的依賴環境安裝

1). gcc

安裝nginx需要先將官網下載的源碼進行編譯,編譯依賴gcc環境,如果沒有gcc環境,需要安裝gcc

yum install gcc-c++ 

2). PCRE

PCRE(Perl Compatible Regular Expressions)是一個Perl庫,包括 perl 兼容的正則表達式庫。nginxhttp模塊使用pcre來解析正則表達式,所以需要在linux上安裝pcre庫。

yum install -y pcre pcre-devel

3). zlib

zlib庫提供了很多種壓縮和解壓縮的方式,nginx使用zlibhttp包的內容進行gzip,所以需要在linux上安裝zlib庫。

yum install -y zlib zlib-devel

4). openssl

OpenSSL 是一個強大的安全套接字層密碼庫,囊括主要的密碼算法、常用的密鑰和證書封裝管理功能及SSL協議,並提供豐富的應用程序供測試或其它目的使用。

nginx不僅支持http協議,還支持https(即在ssl協議上傳輸http),所以需要在linux安裝openssl庫。

yum install -y openssl openssl-devel

2.編譯安裝

[root@localhost nginxFile]# tar -zxvf nginx-1.4.0.tar.gz

[root@localhost nginxFile]# cd nginx-1.4.0

[root@localhost nginx-1.4.0]# ./configure --help 可以查詢詳細編譯參數

我們這里簡單編譯即可

安裝路徑在/usr/ local/nginx   文件夾會自動創建

./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

注意:上邊將臨時文件目錄指定為/var/temp/nginx,需要在/var下創建tempnginx目錄

[root@localhost nginx-1.4.0]# make

[root@localhost nginx-1.4.0]# make insatll

轉到安裝路徑可以看到

3.nginx 操作命令

1).查詢nginx 進程

[root@localhost nginx]# ps aux|grep nginx

2).啟動nginx 服務

在 /usr/local/nginx/sbin 目錄下 有一個nginx 可執行文件,

在此目錄下可以直接 ./nginx 執行

3).停止nginx 服務

[root@localhost nginx]# ./nginx -s stop

4)重啟nginx 服務

[root@localhost nginx]# ./nginx -s reload

瀏覽器訪問可以看到nginx歡迎頁面

4.更換nginx工作目錄到ftp用戶下

編輯ngxin配置文件

vi/usr/local/nginx/conf/nginx.conf

將這里的工作目錄修改成ftp用戶下的目錄

  重啟nginx服務

[root@localhost nginx]# ./nginx -s reload

我在ftpadmin這個用戶下面創建了一個images的文件夾

現在瀏覽器輸入: http://192.168.61.133/images/jack.jpg

到此一個簡單的文件服務器創建成功, 此為本人學習時一個記錄,不喜勿噴 

 


免責聲明!

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



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