1. 程式人生 > 實用技巧 >linux使用nginx搭配vsftpd元件搭建圖片伺服器

linux使用nginx搭配vsftpd元件搭建圖片伺服器

//20201222

寫在前面:搭建完個人部落格後,在編輯文章需要插入圖片時,發現只能用外部連結,這樣非常慢,而且不自由,所以想著自己搭建一個圖片伺服器,這樣可以自己上傳圖片就會更方便


環境配置:

  • 首先伺服器上得有nginx以及vsftpd元件

  • 安裝命令如下:

yum -y install nginx
yum -y install vsftpd

配置ftp伺服器環境

  • 新增ftp使用者(就是在home目錄下新增一個資料夾,這個資料夾專門用來放ftp服務裡的檔案)
  • 命令如下(以及設定密碼命令)
useradd ftpuser

passwd ftpuser

開啟防火牆中21埠(我用的是Centos7,防火牆是firewall,伺服器是阿里雲的,阿里雲控制檯需要先一步在安全組規則中新增21埠的外網訪問許可權)

  • 命令如下
firewall-cmd --zone=public --add-port=21/tcp --permanent
firewall-cmd --reload

在ftpuser目錄下建立images檔案,內部用於存放網頁中可顯示的檔案

  • 修改selinux(將許可權開啟,否則無法外網訪問)
  • 命令如下
getsebool -a | grep ftp #如果該命令提示selinux disable,需要在其配置檔案中將selinux開啟
#然後更改如下兩項的屬性(如果一樣則不用更改)
setsebool -P ftpd_full_access on
setsebool -P ftpd_home_dir on

修改使用者許可權(讓ftpusr資料夾可以被全域性訪問)

  • 命令如下
chown ftpuser /home/ftpuser
chmod 777 -R /home/ftpuser

設定開機自啟動vsftpd服務

  • 命令如下:
chkconfig vsftpd on

外網訪問

  • 直接訪問ip地址,看是否跳出頁面,如果跳出,則設定成功

配置nginx環境

在nginx配置中做一個對映

  • 將nginx的資料夾對映到ftpuser下的資料夾(先在html下建立images資料夾用作對映)
  • 命令如下:
mkdir /usr/share/nginx/html/images
  • 修改nginx.conf檔案,增加對映
vim /etc/nginx/conf/nginx.conf
  • 在配置檔案中新增如下對映
location /images/ {
    root  /home/ftpuser/www/;
    autoindex on;
}
  • 重新啟動nginx
service nginx restart

以上,此時訪問ip + images就可以訪問ftpuser下images資料夾中的內容了(我還有設定子層資料夾,所以具體視情況而定)
希望對大家有所幫助