linux使用nginx搭配vsftpd元件搭建圖片伺服器
阿新 • • 發佈:2020-12-22
//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資料夾中的內容了(我還有設定子層資料夾,所以具體視情況而定)
希望對大家有所幫助