文章出處

圖片服務器需要兩個服務:

Nginx(圖片訪問):      1、http服務:可以使用nginx做靜態資源服務器。也可以使用apache。推薦使用nginx,效率更高。      2、反向代理 實現 負載均衡    ftp服務(圖片上傳):      使用linux做服務器,在linux中有個ftp組件vsftpd。

兩個服務器的搭建就不詳細介紹了,主要記錄今天在用ftp上傳圖片遇到的問題。

vsftp裝好后,開啟21端口,因為ftp默認的端口為21,而centos默認是沒有開啟的。同時修改selinux開啟外網訪問。

 

修改selinux:

執行以下命令查看狀態:

[root@bogon ~]# 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

[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模式,默認是不行的,因為ftp passive模式被iptables擋住了,下面會講怎么開啟,如果懶得開的話,就看看你客戶端ftp是否有port模式的選項,或者把passive模式的選項去掉。如果客戶端還是不行,看看客戶端上的主機的電腦是否開了防火墻,關吧)

關于圖片服務器的配置
進入nginx的配置文件:將nginx服務器默認網站根目錄位置定義到ftp服務賬戶ftpuser的根目錄下的www目錄,有兩種方法
cd /usr/local/nginx/conf/
方法一、在配置文件server{}中location /{} 修改配置:location / {   root  /home/ftpuser/www;#定義服務器的默認網站根目錄位置   index index.html index.php index.htm;#定義首頁索引文件的名稱}其中:/home/ftpuser/www;為創建FTP服務賬戶ftpuser的根目錄下的www目錄方法二、在http{}內配置新服務        listen       8080;        server_name  localhost;        #charset utf-8;        #access_log  logs/host.access.log  main;        #默認請求        location / {            root  /home/ftpuser/www;#定義服務器的默認網站根目錄位置            index index.html index.php index.htm;#定義首頁索引文件的名稱           }        }

現在在/home/ftpuser/www目錄下新建一個image文件夾,傳入圖片hello.jpg 主機地址欄輸入:http://xxx.xxx.xx.xx/images.hello.jpg,此時卻出現403錯誤,應該是沒有訪問權限造成的,在nginx的conf配置文件頭中加入user ftpuser,保存并退出重啟nginx,再次訪問,成功!看文倉www.92to.com網友整理上傳,為您提供最全的知識大全,期待您的分享,轉載請注明出處。
歡迎轉載:http://www.kanwencang.com/bangong/20161222/76170.html

文章列表


不含病毒。www.avast.com
arrow
arrow
    全站熱搜

    大師兄 發表在 痞客邦 留言(0) 人氣()