當前位置:
首頁 > 最新 > nginx+ftp+圖片上傳

nginx+ftp+圖片上傳

1、nginx是什麼

nginx是一個使用c語言開發的高性能的http伺服器及反向代理伺服器

2、為什麼要使用nginx

當並發量大,用戶量多的情況下,並不適合使用tomcat,就算你增加tomcat的數量,就會出現有時訪問不到的情況(解決負載均衡問題),這時候我們需要一個專門的伺服器(nginx)來保存圖片,上傳圖片時由tomcat提交到nginx,需要訪問時直接從nginx返回圖片地址。

3、應用前景

①http伺服器。Nginx是一個http服務可以獨立提供http服務。可以做網頁靜態伺服器。

②虛擬主機。可以實現在一台伺服器虛擬出多個網站。例如個人網站使用的虛擬主機。

③反向代理,負載均衡。當網站的訪問量達到一定程度後,單台伺服器不能滿足用戶的請求時,需要用多台伺服器集群可以使用nginx做反向代理。並且多台伺服器可以平均分擔負載,不會因為某台伺服器負載高宕機而某台伺服器閑置的情況。

4、nginx安裝

第一步-添加Nginx存儲庫

要添加CentOS 7 EPEL倉庫,請打開終端並使用以下命令:

[root@bogon~]#sudo yum install epel-release

解決:

第二步-安裝Nginx

現在Nginx存儲庫已經安裝在您的伺服器上,使用以下yum命令安裝Nginx:

[root@bogon~]#sudo yum install nginx

在對提示回答yes後,Nginx將在伺服器上完成安裝。

第三步-啟動Nginx

Nginx不會自行啟動。要運行Nginx,請輸入:

[root@bogon~]#sudo systemctl start nginx

如果您正在運行防火牆,請運行以下命令以允許HTTP和HTTPS通信:

[root@bogon~]#sudo firewall-cmd --permanent --zone=public--add-service=http

[root@bogon~]#sudo firewall-cmd --permanent --zone=public--add-service=https

[root@bogon~]#sudo firewall-cmd --reload

第四步-測試

看到這個說明nginx安裝成功。

5、安裝vsftpd組件

yum -y install vsftpd

安裝成功後,有/etc/vsftpd/vsftpd.conf文件,是vsftp的配置文件。

添加一個ftp用戶

useradd ftpuser

修改密碼

Passwd ftpuser

防火牆開啟21號埠

firewall-cmd--zone=public --add-port=21/tcp

重啟防火牆

firewall-cmd--reload

修改selinux

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

執行以下命令查看狀態:

[root@bogon ~]# getsebool -a | grepftp

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

[root@bogon ~]#

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

[root@bogon~]# setsebool -P allow_ftpd_full_access on

[root@bogon~]# setsebool -P ftp_home_dir on

這樣應該沒問題了(如果,還是不行,看看是不是用了ftp客戶端工具用了passive模式訪問了,如提示Entering Passive mode,就代表是passive模式,默認是不行的,因為ftppassive模式被iptables擋住了,下面會講怎麼開啟,如果懶得開的話,就看看你客戶端ftp是否有port模式的選項,或者把passive模式的選項去掉。如果客戶端還是不行,看看客戶端上的主機的電腦是否開了防火牆,關吧)

FileZilla的主動、被動模式修改:

菜單:編輯→設置

關閉匿名訪問

修改/etc/vsftpd/vsftpd.conf文件:

重啟ftp服務:

[root@bogon ~]# service vsftpd restart

開啟被動模式

默認是開啟的,但是要指定一個埠範圍,打開vsftpd.conf文件,在後面加上

pasv_min_port=30000

pasv_max_port=30999

表示埠範圍為30000~30999,這個可以隨意改。改完重啟一下vsftpd

由於指定這段埠範圍,iptables也要相應的開啟這個範圍,所以像上面那樣打開iptables文件。

也是在21上下面另起一行,更那行差不多,只是把21改為30000:30999,然後:wq保存,重啟下iptables。這樣就搞定了。

設置開機啟動vsftpd ftp服務

chkconfig vsftpd on

安裝完畢!!!!!!!!!!!!!

6、上傳圖片(基於java實現)

在maven工程的pom.xml中添加

上傳及下載工具類如下

嘿嘿,上傳成功

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 AndroidJava 的精彩文章:

TAG:AndroidJava |