為了搭個圖片服務器,在centos上安裝配置Nginx和vsftpd服務,簡直折騰了我一天的時間,最終得出結論,還是要好好學習Linux,不然真是折騰死個人!

  一. Nginx訪問問題

  nginx安裝完成之後,啟動起來了,發現在物理機中訪問不到,這可能的原因是Linux防火牆的問題。

  解決方案:

createfile失敗怎麽辦(介紹安裝Nginx和vsftpd的坑)

  http://www.cnblogs.com/yomho/p/6074815.html

  謝謝博主,我就不寫了//呲牙。

  前一天裝好了,第二天起來,再次啟動,發現起不來了Nginx,錯誤信息如下:

  實在沒找到什麽原因,懷疑是由於nginx停止的方式不對,因為前一天晚上因為機子卡,vm非正常關閉,導致了無法啟動,果斷重裝了。以後再遇到就再說了,要不進行不下去了。

  後來找到解決方案:

  1

  2

  3

  4

  5

  [root@localhost var]# cd /var/run ###先cd到/var/run目錄下

  [root@localhost run]# mkdir nginx ###然後創建nginx目錄

  [root@TEST sbin]# sudo ./nginx -c /usr/local/nginx/conf/nginx.conf ###重新配置nginx配置文件

  [root@TEST sbin]# ./nginx -s reload ###重新加載配置文件

  虛擬機重啟,需要重新配置文件即可

  方案二:參考

  https://jingyan.baidu.com/article/f00622281858e2fbd3f0c81b.html

  每次重啟比較麻煩,可以設置nginx開機自啟,

  https://www.cnblogs.com/piscesLoveCc/p/5867900.html

  訪問url: ip/images/123.jpg,正常訪問

  關於Nginx的配置文件訪問路徑問題。

  當使用vsftpd上傳到相應目錄文件後,怎麽取訪問呢?

  需要我們在nginx的安裝目錄中找到nginx.conf文件,我的配置文件所在目錄:

  /usr/local/nginx/conf/nginx.conf,打開該文件修改:

  1

  2

  3

  4

  5

  6

  7

  8

  9

  10

  11

  12

  13

  14

  15

  16

  #gzip on;

  server {

  listen 80;

  server_name localhost;

  #charset koi8-r;

  #access_log logs/host.access.log main;

  location / {

  # root html;之前的配置

  # 現在的配置在下麵:訪問路徑:/home/ftpuser/wwww;

  root /home/ftpuser/www;

  index index.html index.htm;

  }

  修改完成後,重新加載ngnix:

  1

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

  通過上麵的一步,或許還會出現403 Forbidden的錯誤

  原因分析:權限問題

  解決方案:同樣在nginx.conf的頭部加入一行:

  1

  user root;

  同樣的,重新加載配置文件,啟動nginx,此時我們就可以正常訪問了。

  二. vsftpd的配置問題

  需要注意的一個問題是,防火牆開啟21端口,詳細參考:前一章節

  關於修改iptables和vsftpd.conf配置文件後,重啟服務的命令,centos或者Fedora等高版本與其它版本有不通。

  1

  # /bin/systemctl start vsftpd.service

  否則會報:

  1

  Redirecting to /bin/systemctl restart vsftpd.service

  關於使用FileZilla上傳文件出現553 Could not create file錯誤

  原因分析:可能是linux文件的訪問權限問題。

  解決辦法:進去linux,找到訪問文件的目錄,找到相應的文件,鼠標右鍵點擊屬性,權限,設置權限為可寫,重啟一下vsftpd服務即可。然後重新使用FileZilla重新上傳一下文件,即可。