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

一:安裝vsftpdlinux

1.安裝nginx

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

安裝完後,有/etc/vsftpd/vsftpd.conf 文件,是vsftp配置文件。正則表達式

2.添加用戶和密碼算法

[root@localhost jack]# useradd ftpadmin vim

爲ftp建立一個用戶,能夠用這個登陸,登陸後默認的路徑爲 /home/ftpadmincentos

[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

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

相關文章
相關標籤/搜索