當前位置:首頁 » 雲伺服器 » nginx搭建的文件伺服器

nginx搭建的文件伺服器

發布時間: 2023-07-04 17:28:18

1. 如何用nginx在ubuntu下搭建web伺服器

1.開始說明
首先需要跟大家說明一下,這個教程中使用的IP地址是192.168.0.23,主機名稱為Server1.example.com這些設置可能會有所不同,你需要根據不同情況進行修改。

2安裝Apache2
2.切換管理員身份
在Ubuntu中需要用root身份進行操作,所以用下面的命令確保以root身份登錄:
sudo su
3.開始安裝Mysql5
apt-get install mysql-server mysql-client
你將被要求提供一個MySQL的root用戶的密碼,我們需要在紅色區域設置密碼
New password for the MySQL "root" user: <-- yourrootsqlpassword
Repeat password for the MySQL "root" user: <-- yourrootsqlpassword
4.安裝Apache2
Apache2的是作為一個Ubuntu的軟體包,因此我們可以直接用下面命令安裝它:
apt-get install apache2
5.安裝php5
我們可以直接安裝PHP5和Apache的PHP5的模塊,如下:
apt-get install php5 libapache2-mod-php5
安裝完需要重啟
/etc/init.d/apache2 restart
6.測試的PHP5並獲取PHP5安裝的詳細信息:
默認網站的文件根目錄是在/var/www下中。現在我們將在該目錄中創建一個小型PHP文件(info.php的)在瀏覽器中調用它。該文件將顯示很多關於我們的PHP安裝,如安裝的PHP版本和有用的一些細節。
7.PHP5獲得MySOL的支持
讓PHP在MySQL中獲得支持,我們可以安裝的php-mysql軟體包。安裝一些其他的PHP5模塊,以及您可能需要的應用程序,這是一個好主意:
apt-cache search php5
還安裝需要安裝的
apt-get install php5-mysql php5-curl php5-gd php5-idn php-pear php5-imagick php5-imap php5-mcrypt php5-memcache php5-ming php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl
現在重新啟動Apache2的:
/etc/init.d/apache2 restart
8.安裝phpMyAdmin
phpMyAdmin是一個網路介面,通過它可以管理你的MySQL資料庫
apt-get install phpmyadmin
你會看到以下問題:
Web server to reconfigure automatically: <-- apache2
Configure database for phpmyadmin with dbconfig-common? <-- No

2. 安全開發運維必備的Nginx代理Web伺服器性能優化與安全加固配置

為了更好的指導部署與測試藝術升系統nginx網站伺服器高性能同時下安全穩定運行,需要對nginx服務進行調優與加固;

本次進行Nginx服務調優加固主要從以下幾個部分:

本文檔僅供內部使用,禁止外傳,幫助研發人員,運維人員對系統長期穩定的運行提供技術文檔參考。

Nginx是一個高性能的HTTP和反向代理伺服器,也是一個IMAP/POP3/SMTP伺服器。Nginx作為負載均衡伺服器, Nginx 既可以在內部直接支持 Rails 和 PHP 程序對外進行服務,也可以支持作為 HTTP代理伺服器對外進行服務。

Nginx版本選擇:

項目結構:



Nginx文檔幫助: http://nginx.org/en/docs/
Nginx首頁地址目錄: /usr/share/nginx/html
Nginx配置文件:



localtion 請求匹配的url實是一個正則表達式:

Nginx 匹配判斷表達式:

例如,匹配末尾為如下後綴的靜態並判斷是否存在該文件, 如不存在則404。



查看可用模塊編譯參數:http://nginx.org/en/docs/configure.html



http_gzip模塊
開啟gzip壓縮輸出(常常是大於1kb的靜態文件),減少網路傳輸;



http_fastcgi_mole模塊
nginx可以用來請求路由到FastCGI伺服器運行應用程序由各種框架和PHP編程語言等。可以開啟FastCGI的緩存功能以及將靜態資源進行剝離,從而提高性能。



keepalive模塊
長連接對性能有很大的影響,通過減少CPU和網路開銷需要開啟或關閉連接;



http_ssl_mole模塊
Nginx開啟支持Https協議的SSL模塊

Linux內核參數部分默認值不適合高並發,Linux內核調優,主要涉及到網路和文件系統、內存等的優化,

下面是我常用的內核調優配置:



文件描述符
文件描述符是操作系統資源,用於表示連接、打開的文件,以及其他信息。NGINX 每個連接可以使用兩個文件描述符。
例如如果NGINX充當代理時,通常一個文件描述符表示客戶端連接,另一個連接到代理伺服器,如果開啟了HTTP 保持連接,這個比例會更低(譯註:為什麼更低呢)。

對於有大量連接服務的系統,下面的設置可能需要調整一下:



精簡模塊:Nginx由於不斷添加新的功能,附帶的模塊也越來越多,建議一般常用的伺服器軟體使用源碼編譯安裝管理;

(1) 減小Nginx編譯後的文件大小



(2) 指定GCC編譯參數
修改GCC編譯參數提高編譯優化級別穩妥起見採用 -O2 這也是大多數軟體編譯推薦的優化級別。

GCC編譯參數優化 [可選項] 總共提供了5級編譯優化級別:



常用編譯參數:



緩存和壓縮與限制可以提高性能
NGINX的一些額外功能可用於提高Web應用的性能,調優的時候web應用不需要關掉但值得一提,因為它們的影響可能很重要。

簡單示例:



1) 永久重定向

例如,配置 http 向 https 跳轉 (永久)



nginx配置文件指令優化一覽表



描述:Nginx因為安全配置不合適導致的安全問題,Nginx的默認配置中存在一些安全問題,例如版本號信息泄露、未配置使用SSL協議等。
對Nginx進行安全配置可以有效的防範一些常見安全問題,按照基線標准做好安全配置能夠減少安全事件的發生,保證採用Nginx伺服器系統應用安全運行;

Nginx安全配置項:

溫馨提示: 在修改相應的源代碼文件後需重新編譯。

設置成功後驗證:



應配置非root低許可權用戶來運行nginx服務,設置如下建立Nginx用戶組和用戶,採用user指令指運行用戶

加固方法:



我們應該為提供的站點配置Secure Sockets Layer Protocol (SSL協議),配置其是為了數據傳輸的安全,SSL依靠證書來驗證伺服器的身份,並為瀏覽器和伺服器之間的通信加密



不應使用不安全SSLv2、SSLv3協議即以下和存在脆弱性的加密套件(ciphers), 我們應該使用較新的TLS協議也應該優於舊的,並使用安全的加密套件。



HTTP Referrer Spam是垃圾信息發送者用來提高他們正在嘗試推廣的網站的互聯網搜索引擎排名一種技術,如果他們的垃圾信息鏈接顯示在訪問日誌中,並且這些日誌被搜索引擎掃描,則會對網站排名產生不利影響
加固方法:



當惡意攻擊者採用掃描器進行掃描時候利用use-agent判斷是否是常用的工具掃描以及特定的版本,是則返回錯誤或者重定向;



Nginx支持webdav,雖然默認情況下不會編譯。如果使用webdav,則應該在Nginx策略中禁用此規則。
加固方法: dav_methods 應設置為off



當訪問一個特製的URL時,如"../nginx.status",stub_status模塊提供一個簡短的Nginx伺服器狀態摘要,大多數情況下不應啟用此模塊。
加固方法:nginx.conf文件中stub_status不應設置為:on



如果在瀏覽器中出現Nginx自動生成的錯誤消息,默認情況下會包含Nginx的版本號,這些信息可以被攻擊者用來幫助他們發現伺服器的潛在漏洞
加固方法: 關閉"Server"響應頭中輸出的Nginx版本號將server_tokens應設置為:off



client_body_timeout設置請求體(request body)的讀超時時間。僅當在一次readstep中,沒有得到請求體,就會設為超時。超時後Nginx返回HTTP狀態碼408(Request timed out)。
加固方法:nginx.conf文件中client_body_timeout應設置為:10



client_header_timeout設置等待client發送一個請求頭的超時時間(例如:GET / HTTP/1.1)。僅當在一次read中沒有收到請求頭,才會設為超時。超時後Nginx返回HTTP狀態碼408(Request timed out)。

加固方法:nginx.conf文件中client_header_timeout應設置為:10



keepalive_timeout設置與client的keep-alive連接超時時間。伺服器將會在這個時間後關閉連接。

加固方法:nginx.conf文件中keepalive_timeout應設置為:55



send_timeout設置客戶端的響應超時時間。這個設置不會用於整個轉發器,而是在兩次客戶端讀取操作之間。如果在這段時間內,客戶端沒有讀取任何數據,Nginx就會關閉連接。

加固方法:nginx.conf文件中send_timeout應設置為:10



GET和POST是Internet上最常用的方法。Web伺服器方法在RFC 2616中定義禁用不需要實現的可用方法。

加固方法:



limit_zone 配置項限制來自客戶端的同時連接數。通過此模塊可以從一個地址限制分配會話的同時連接數量或特殊情況。

加固方法:nginx.conf文件中limit_zone應設置為:slimits $binary_remote_addr 5m



該配置項控制一個會話同時連接的最大數量,即限制來自單個IP地址的連接數量。

加固方法:nginx.conf 文件中 limit_conn 應設置為: slimits 5



加固方法:





加固方法:



解決辦法:





描述後端獲取Proxy後的真實Client的IP獲取需要安裝--with-http_realip_mole,然後後端程序採用java(request.getAttribute("X-Real-IP"))進行獲取;



描述: 如果要使用geoip地區選擇,我們需要再nginx編譯時加入 --with-http_geoip_mole 編譯參數。



描述: 為了防止外部站點引用我們的靜態資源,我們需要設置那些域名可以訪問我們的靜態資源。



描述: 下面收集了Web服務中常規的安全響應頭, 它可以保證不受到某些攻擊,建議在指定的 server{} 代碼塊進行配置。



描述: 為了防止某些未備案的域名或者惡意鏡像站域名綁定到我們伺服器上, 導致伺服器被警告關停,將會對業務或者SEO排名以及企業形象造成影響,我們可以通過如下方式進行防範。

執行結果:



描述: 有時你的網站可能只需要被某一IP或者IP段的地址請求訪問,那麼非白名單中的地址訪問將被阻止訪問, 我們可以如下配置;



常用nginx配置文件解釋:

(1) 阿里巴巴提供的Concat或者Google的PageSpeed模塊實現這個合並文件的功能。



(2) PHP-FPM的優化
如果您高負載網站使用PHP-FPM管理FastCGI對於PHP-FPM的優化非常重要



(3) 配置Resin on Linux或者Windows為我們可以打開 resin-3.1.9/bin/httpd.sh 在不影響其他代碼的地方加入:-Dhttps.protocols=TLSv1.2, 例如

原文地址: https://blog.weiyigeek.top/2019/9-2-122.html

3. 如何運用Nginx搭建代理伺服器

如何實現Nginx的反向代理?

這句話什麼意思?

意思是說當客戶機來訪問伺服器的時候,伺服器本身並不出面接待,而是將客戶的請求轉高給手下的子伺服器(小弟)負責接待。

比如:你訪問www..com,其實並不時網路總伺服器接待的你,而是網路的代理伺服器接待的你,不過他們的服務是一樣的,提供同樣的頁面;

如是搭建Nginx服務才能實現這樣的效果呢?

搭建一個最簡單,最基礎nginx代理伺服器,需要一台代理服務,兩檯子伺服器,XX台客戶機來作驗證;

操作流程如下:

第一步、伺服器和客戶機配好IP地址,其中Nginx代理伺服器需要配置兩張網卡,兩個IP地址,一個和客戶機通信,一個和子伺服器通信;

代理伺服器與客戶機和子伺服器都分別配置同網段IP地址;

例如:

代理伺服器:192.168.4.5    192.168.2.5

子伺服器         :192.168.2.100    192.168.2.200

客戶機    :192.168.4.10

這樣配置的好處是: 可以負載均衡,保障用戶的訪問體驗,保障上網速度,同時也保障了,即便有一台伺服器壞掉了,另一台服務可以接待用戶訪問;

第二步、代理伺服器上安裝Nginx服務軟體,兩檯子伺服器上安裝HTTPD服務並寫入相應的網頁,然後啟動服務;

yum  -y install  httpd        ##安裝httpd服務;

echo  "羅貴"  >    /var/www/html/index.html       ##寫一個簡單的網頁

./configure    --user=nginx    --group=nginx   --with-http_ssl_mole

make   &&   make   install     ##編譯安裝Nginx

第三步、修改Nginx的配置文件;

vim   /usr /local /nginx /conf /nginx.conf

http   {  ...............    ##在文件中找到http開頭的行,並在http下面隨意找兩行添加下面兩行的內容;

            upstream    luogui    {        ##luogui是集群名字,可以自由定義,upstream 上游的意思;翻譯過來就是在上游建立一個名字為luogui的集群,集群中包含下述IP地址;

                      server   192.168.2.100:80;

                      server    192.168.2.200:80;

}

server    {

        listen        80;

        server_name   www.luogui.com;     ##域名,可以自由定義;

location   ^/.php$  {    ##匹配網頁地址的意思,匹配以 / 開頭.php結尾的網頁文件;

        proxy_pass  http://luogui;        ##通過proxy代理伺服器將用戶的請求轉發給luogui集群伺服器;(註:優先順序最高,系統會優先處理這條命令)

             }

                             }

第四步、測試效果;

firefox   http://192.168.4.5  或者  本地測試   curl  http://192.168.4.5 

結果應該是暫停任何一檯子伺服器,客戶機訪問網頁都沒有問題;

以上.......

                                                    (EDN)

祝:開心!

羅貴

2019-04-05於深圳

4. 一、伺服器從零到一——Ubuntu搭建nginx靜態伺服器

Ubuntu 18.04上的Nginx默認啟用了一個伺服器模塊,該模塊被配置為在/var/www/html目錄下提供文檔。 雖然這適用於單個站點,但如果您託管多個站點,它可能會變得很笨重。 我們不必修改/var/www/html ,而是在/var/www為我們的 example.com 網站創建一個目錄結構,並將/var/www/html保留為默認目錄,如果客戶端請求沒有匹配任何其他網站。

按如下所示為example.com創建目錄,使用-p標志創建任何必需的父目錄:

$ sudo mkdir -p /var/www/ example.com/html

接下來,使用$USER環境變數分配目錄的所有權:

USER:$USER /var/www/ example.com/html/

如果你沒有修改你的umask值,你的web根目錄的許可權應該是正確的,但是你可以通過輸入:

$ sudo chmod -R 755 /var/www/ example.com/

接下來,使用gedit或您最喜歡的編輯器創建一個index.html頁面示例:

$ gedit /var/www/ example.com/html/index.html

在裡面,添加下面的示例HTML:

<html>
<head>
<title>Welcome to Example.com!</title>
</head>
<body>
<h1>Success! The example.com server block is working!</h1>
</body>
</html>
為了讓Nginx提供這些內容,有必要創建一個具有正確指令的伺服器塊。 我們不要直接修改默認配置文件,而是在/etc/nginx/sites-available/ example.com上創建一個新文件:

$ sudo gedit /etc/nginx/sites-available/example.com

粘貼到以下配置塊中,該塊類似於默認值,但已更新陵森州為我們的新目錄和域名:

server {
listen 80;
listen [::]:80;

}
請注意,我們已將root配置更新到我們的新目錄,並將server_name為我們的域名。

接下來,讓我們通過創春岩建一個鏈接到啟動sites-enabled目錄來啟用該文件,該目錄是Nginx在啟動過程中讀取的:

$ sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/

現在啟用兩個伺服器模塊並將其配置為基於listen和server_name指令響應請求(您可以閱讀關於Nginx如何處理這些指令的更多信息):

example.com :將響應 example.com 和 www.example.com 請求。
default :將響應埠80上與其他兩個塊不匹配的任何請求。
為了避免添加額外的伺服器名稱可能導致的哈希桶內存問題,有必要調整/etc/nginx/nginx.conf文件中的單個值。

打開文件:sudo gedit /etc/nginx/nginx.conf

找到server_names_hash_bucket_size指令並刪除#符號以取消注釋該行:

...
http {
...
server_names_hash_bucket_size 64;
...
}
...
接下來尺蔽,測試以確保您的Nginx文件中沒有語法錯誤:

$ sudo nginx -t

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

如果沒有任何問題,請重新啟動Nginx以啟用您的更改:

$ sudo systemctl restart nginx

熟悉重要的Nginx文件和目錄

nginx伺服器配置文件:

/etc/nginx :Nginx配置目錄。 所有的Nginx配置文件都駐留在這里。
/etc/nginx/nginx.conf :主要的Nginx配置文件。 這可以修改,以更改Nginx全局配置。
/etc/nginx/sites-available/ :可存儲每個站點伺服器塊的目錄。 除非將Nginx鏈接到sites-enabled了sites-enabled目錄,否則Nginx不會使用此目錄中的配置文件。 通常,所有伺服器塊配置都在此目錄中完成,然後通過鏈接到其他目錄啟用。
/etc/nginx/sites-enabled/ :存儲啟用的每個站點伺服器塊的目錄。 通常,這些是通過鏈接到sites-available目錄中的配置文件創建的。
/etc/nginx/snippets :這個目錄包含可以包含在Nginx配置其他地方的配置片段。 可重復配置的片段可以重構為片段。
nginx伺服器日誌文件:

/var/log/nginx/access.log :除非Nginx配置為其他方式,否則每個對您的Web伺服器的請求都會記錄在此日誌文件中。
/var/log/nginx/error.log :任何Nginx錯誤都會記錄在這個日誌中。

5. 不容錯過的Nginx配置詳解,一文帶你搞懂Nginx

Nginx是一個高性能的HTTP和反向代理伺服器,特點是佔用內存少,並發能力強,事實上Nginx的並發能力確實在同類型的網頁伺服器中表現好。Nginx專為性能優化而開發,性能是其最重要的考量,實現上非常注重效率,能經受高負載的考驗,有報告表明能支持高達50000個並發連接數。

需要客戶自己在瀏覽器配置代理伺服器地址

例如:在大陸訪問www.google.com,我們需要一個代理伺服器,我們通過代理伺服器去訪問谷歌,這個過程就是正向代理。

反向代理,客戶端對代理是無感知的,因為客戶端不需要任何配置就可以訪問,我們只需要將請求發送到反向代理伺服器,由反向代理伺服器去選擇目標伺服器獲取數據後,在返回給客戶端,此時反向代理伺服器和目標伺服器對外就是一個伺服器,暴露的是代理伺服器地址,隱藏了真實伺服器IP地址。

單個伺服器解決不了,我們增加伺服器的數量,然後將請求分發到各個伺服器上,將原先請求集中到單個伺服器上的情況改為將請求分發到多個伺服器上,將負載分發到不同的伺服器,也就是我們說的負載均衡。

為了加快網站的解析速度,可以把動態頁面和靜態頁面由不同的伺服器來解析,加快解析速度。降低原來單個伺服器的壓力。

進入到下面的目錄,然後使用命令

配置文件所在位置:/usr/local/nginx/conf/nginx.conf

由全局塊+events塊+http塊組成

從配置文件開始到events之間的內容,主要會設置一些影響Nginx伺服器整體運行的配置指令,主要包括配置運行Nginx伺服器的用戶(組)、允許生成的worker process數,進程pid存放路徑、日誌存放路徑和類型以及配置文件的引入等。

events塊設計的指令主要影響Nginx伺服器與用戶的網路連接,常用的設置包括是否開啟對多work process下的網路連接進行序列化,是否允許同時接收多個網路連接,選取哪種事件驅動模型來處理連接請求,每個work process可以同時支持的最大連接數等。下面的例子表示每個work process支持的最大連接數為1024。這部分配置對Nginx的性能影響較大,在實際中應該靈活配置。

Nginx伺服器配置中最頻繁的部分,代理、緩存和日誌定義等絕大多數功能和第三方模塊的配置都在這里,http塊又包括http全局塊和server塊。

http全局塊配置的指令包括文件引入、MIME-TYPE定義、日誌自定義、連接超時時間、單鏈接請求數上限等。

這塊和虛擬主機有密切關系,虛擬主機從用戶角度看,和一台獨立的硬體主機是完全一樣的,該技術的產生是為了節省互聯網伺服器硬體成本。

每個http塊可以包括多個server塊,而每個server塊就相當於一個虛擬主機。

每個server塊也可以分為全局server塊,以及可以同時包含多個location塊。

最常見的配置時本虛擬主機的監聽配置和本虛擬主機的名稱或IP配置。

一個server塊可以配置多個location塊。

這塊的主要作用是基於Nginx伺服器接收到的請求字元串(例如server_name/uri-string),對虛擬主機名稱(也可以是IP別名)之外的字元串(例如前面的/uri-string)進行匹配,對特定的請求進行處理。地址定向、數據緩存和應答控制等功能,還有許多第三方模塊的配置也在這里進行。

訪問http://ip,訪問到的是Tomcat的主頁面http://ip:8080。

Nginx+JDK8+Tomcat

訪問:http://192.168.71.167/,看到的是Tomcat的首頁。

根據訪問的路徑跳轉到不同的伺服器中去。

訪問http://ip:9001/e 直接跳到http://127.0.0.1:8080/e

訪問http://ip:9001/vod 直接跳到http://127.0.0.1:9090/vod

Nginx+JDK8+配置兩個Tomcat,Tomcat的配置不再講述。

訪問http://192.168.71.167:9001/e/a.html跳到了http://127.0.0.1:8080/e/a.html頁面。

訪問http://192.168.71.167:9001/vod/a.html跳到了http://127.0.0.1:9090/vod/a.html頁面。

假如Nginx代理伺服器Server的配置為:192.168.71.167:9001,跳到:127.0.0.1:8080,訪問者的IP為:192.168.71.200:20604。

通過訪問http://192.168.71.167/e/a.html,實現負載均衡的效果,平均分攤到8080和8081埠中。

Nginx+JDK8+2台Tomcat,一台8080,一台8081。

訪問:http://192.168.71.167/e/a.html,8080和8081交替訪問。

1 輪詢(默認)

每個請求按時間順序逐一分配到不同的後端伺服器,如果後端伺服器down掉,能自動剔除。

2 weight

weight代表權重,默認為1,權重越高被分配的客戶端越多。

指定輪詢幾率,weight和訪問比率成正比,用於後端伺服器性能不均的情況。

3 ip_hash

每個請求按訪問IP的hash結果分配,這樣每個訪客固定訪問一個後端伺服器,可以解決session的問題,示例如下:

4 fair(第三方)

按後端伺服器的響應時間來分配請求,響應時間短的優先分配。

訪問圖片:http://192.168.71.167/image/1.jpg

訪問頁面:http://192.168.71.167/www/a.html

訪問目錄:http://192.168.71.167/image/(因為設置了autoindex on;)

兩台機器,每台機器都裝有keepalived+Nginx+Tomcat。

主備keepalived伺服器中只有master一台機器會出現VIP地址,否則會出現腦裂問題。

【提示】腳本要加+x的執行許可權:chmod +x chk_nginx.sh

在Nginx里把虛擬IP配置進去即可。

一個Nginx是由一個master進程和多個worker進程組成的。

客戶端發送請求到Master,然後給worker,再由這些work爭搶處理這個請求。

1 可以使用nginx -s reload進行熱部署方式;

2 每個worker是獨立的進程,如果有其中的一個worker出現了問題,其他worker獨立的繼續進行爭搶,實現請求的過程,不會造成服務的中斷;

Nginx和Redis類似,都採用了io多路復用機制。每個worker進程都可以把CPU發揮到極致,一般來說worker數和伺服器的CPU數相等是最為適宜的。

發送請求:訪問靜態資源佔用2個連接,反向代理佔用4個連接。

【溫馨提示】

6. Linux 搭建 Nginx (圖片伺服器)

打開nginx官網 http://nginx.org/en/download.html

yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel

cd /usr/local/
tar -zxvf nginx-1.20.1.tar.gz

./configure --with-http_ssl_mole
編譯參數有很多,這邊我只增加了SSL模塊,小夥伴可以根據自身情況調整
--prefix=PATH:指定 nginx 的安裝目錄
--conf-path=PATH:指定 nginx.conf 配置文件路徑
--user=NAME:nginx 工作進程的用戶
--with-pcre:開啟 PCRE 正則表達式的支持
--with-http_ssl_mole:啟動 SSL 的支持
--with-http_stub_status_mole:用於監控 Nginx 的狀態
--with-http-realip_mole:允許改變客戶端請求頭中客戶端 IP 地址
--with-file-aio:啟用 File AIO
--add-mole=PATH:添加第三方外部模塊

make
執行完上述命令後,在解壓目錄下,多出一個Makefile文件

make install
因編譯時未指定安裝目錄,執行make install 命令後看到反饋日誌信息,實際安裝目錄為/usr/local/nginx

進入實際安裝目錄,看看,並在其sbin目錄下執行啟動nginx
cd /usr/local/nginx/

瀏覽器訪問 http://ip:80 , 顯示如下圖則代表部署成功

進入 /usr/local/nginx/conf/ 文件夾,找到nginx.conf 文件

worker_processes 1;

events {
worker_connections 1024;
}

http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 8088;
server_name localhost;
location ~ .*.(gif|jpg|jpeg|png|apk|pdf)$ {
expires 24h;
root /usr/local/img/;#指定圖片存放路徑
access_log /usr/local/nginx/logs/images.log;#日誌路徑
proxy_store on;
proxy_store_access user:rw group:rw all:rw;
proxy_temp_path /usr/local/img/;#代理臨時路徑
proxy_redirect off;

}

修改配置文件,內容如上

cd /usr/local/nginx/sbin

./nginx -s reload

瀏覽器輸入 http://ip:8088/1.png ,查看是否能正常顯示圖片

7. markdown nginx 搭建自己的圖片伺服器

介紹

在使用markdown格式的過程中,經常需要上傳圖片,但是常常很復雜,image,在csdn上也很麻煩,在我有阿里雲的情況下,用nginx實現我的圖片伺服器.
安裝 OpenResty

OpenResty,以前用過,所以就按照文檔快速安裝.

apt-get install libpcre3-dev libssl-dev perl make build-essential curl
./configure
make
make install

默認目錄 :/usr/local/openresty/
添加配置文件

cd /usr/local/openresty/
mkdir conf/
vi nginx.conf

配置文件具體內容

worker_processes 1;
error_log logs/error.log;
events {
worker_connections 1024;
}
http {
server {
listen 8080;
location ~ .*.(gif|jpg|jpeg|png)$ {
expires 24h;
root /home/images/;#指定圖片存放路徑
access_log /home/nginx/logs/images.log;#圖片 日誌路徑
proxy_store on;
proxy_store_access user:rw group:rw all:rw;
proxy_temp_path /home/images/;#代理臨時路徑
proxy_redirect off;

}

啟動

./openresty -c ../conf/nginx.conf

./openresty -s stop

netstat -antp

x

image
通過 SecureCRT 7.0拖拽上傳文件

image
通過 get -r * 同步文件到本地

image
訪問即可
https://blog.csdn.net/better_mouse/java/article/details/84256664

熱點內容
雙向的訪問了你的空間 發布:2025-02-08 13:13:20 瀏覽:699
python元素是否在list 發布:2025-02-08 13:11:38 瀏覽:694
安卓現在哪個最好用 發布:2025-02-08 13:06:27 瀏覽:791
百度網盤上傳錯誤 發布:2025-02-08 12:56:21 瀏覽:69
安卓手機怎麼解除防抖系統 發布:2025-02-08 12:55:37 瀏覽:391
sql2008sql代理 發布:2025-02-08 12:55:34 瀏覽:52
vs編譯找不到指定項目文件 發布:2025-02-08 12:36:54 瀏覽:243
怎樣用windows伺服器搭建網站 發布:2025-02-08 12:27:38 瀏覽:532
android獲取音樂 發布:2025-02-08 12:26:05 瀏覽:962
存儲的數據可以復制嗎 發布:2025-02-08 12:20:22 瀏覽:852