Nginx服務(wù)器的安裝配置和優(yōu)化-創(chuàng)新互聯(lián)

一、Nginx介紹
Nginx(engine x) 是一個(gè)高性能的HTTP和反向代理服務(wù)器,也是一個(gè)IMAP/POP3/SMTP服務(wù)器。其將源代碼以類BSD許可證的形式發(fā)布,因它的穩(wěn)定性、豐富的功能集、示例配置文件和低系統(tǒng)資源的消耗而聞名。Nginx是一款輕量級的Web服務(wù)器/反向代理服務(wù)器及電子郵件(IMAP/POP3)代理服務(wù)器,并在一個(gè)BSD-like 協(xié)議下發(fā)行。其特點(diǎn)是占有內(nèi)存少,并發(fā)能力強(qiáng),事實(shí)上nginx的并發(fā)能力確實(shí)在同類型的網(wǎng)頁服務(wù)器中表現(xiàn)較好。

創(chuàng)新互聯(lián)是一家從事企業(yè)網(wǎng)站建設(shè)、網(wǎng)站制作、成都做網(wǎng)站、行業(yè)門戶網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)制作的專業(yè)的建站公司,擁有經(jīng)驗(yàn)豐富的網(wǎng)站建設(shè)工程師和網(wǎng)頁設(shè)計(jì)人員,具備各種規(guī)模與類型網(wǎng)站建設(shè)的實(shí)力,在網(wǎng)站建設(shè)領(lǐng)域樹立了自己獨(dú)特的設(shè)計(jì)風(fēng)格。自公司成立以來曾獨(dú)立設(shè)計(jì)制作的站點(diǎn)成百上千。

高并發(fā)連接:官方測試能支撐5萬并發(fā)連接,在實(shí)際生產(chǎn)環(huán)境中跑到2,~3W并發(fā)連接。
內(nèi)存消耗少:在3W并發(fā)連接下,開啟的10個(gè)NGINX進(jìn)程才消耗150M內(nèi)存(15M*10=150M)
配置文件非常簡單:風(fēng)格跟程序一樣通俗易懂。
成本低廉:Nginx作為開源軟件,可以免費(fèi)使用,而購買F5 BIG-IP、NetScaler等硬件負(fù)載均衡交換機(jī)則需要十多萬至幾十萬人民幣。
支持rewrite重寫規(guī)則:能夠根據(jù)域名、URL的不同,將HTTP請求分發(fā)到不同的后端服務(wù)器群組。
內(nèi)置的健康檢查功能:如果Nginx Proxy后端的后臺(tái)web服務(wù)器宕機(jī)了,不會(huì)影響前端訪問。
節(jié)省帶寬:支持GZIP壓縮,可以添加瀏覽器本地緩存的Header頭。
穩(wěn)定性高:用于反向代理,宕機(jī)的概率微乎其微。
對于一個(gè) Web 服務(wù)器來說,一個(gè)請求的基本過程是:建立連接—接收數(shù)據(jù)—發(fā)送數(shù)據(jù),在系統(tǒng)底層看來 :上述過程(建立連接—接收數(shù)據(jù)—發(fā)送數(shù)據(jù))在系統(tǒng)底層就是讀寫事件。
如果采用阻塞調(diào)用的方式,當(dāng)讀寫事件沒有準(zhǔn)備好時(shí),那么就只能等待,當(dāng)前線程被掛起,等事件準(zhǔn)備好了,才能進(jìn)行讀寫事件。
如果采用非阻塞調(diào)用的方式:事件馬上返回,告訴你事件還沒準(zhǔn)備好呢,過會(huì)再來吧。過一會(huì),再來檢查一下事件,直到事件準(zhǔn)備好了為止,在這期間,你就可以先去做其它事情,然后再來看看事件好了沒。雖然不阻塞了,但你得不時(shí)地過來檢查一下事件的狀態(tài),你可以做更多的事情了,但帶來的開銷也是不小的。非阻塞調(diào)用指在不能立刻得到結(jié)果之前,該調(diào)用不會(huì)阻塞當(dāng)前線程

非阻塞通過不斷檢查事件的狀態(tài)來判斷是否進(jìn)行讀寫操作,這樣帶來的開銷很大,因此就有了異步非阻塞的事件處理機(jī)制。這種機(jī)制讓你可以同時(shí)監(jiān)控多個(gè)事件,調(diào)用他們是非阻塞的,但可以設(shè)置超時(shí)時(shí)間,在超時(shí)時(shí)間之內(nèi),如果有事件準(zhǔn)備好了,就返回。這種機(jī)制解決了上面阻塞調(diào)用與非阻塞調(diào)用的兩個(gè)問題。
以 epoll 模型為例:當(dāng)事件沒有準(zhǔn)備好時(shí),就放入 epoll(隊(duì)列)里面。如果有事件準(zhǔn)備好了,那么就去處理;當(dāng)事件沒有準(zhǔn)備好時(shí),才在 epoll 里面等著。這樣,我們就可以并發(fā)處理大量的并發(fā)了,當(dāng)然,這里的并發(fā)請求,是指未處理完的請求。線程只有一個(gè),所以同時(shí)能處理的請求當(dāng)然只有一個(gè)了,只是在請求之間進(jìn)行不斷地切換而已,切換也是因?yàn)楫惒绞录礈?zhǔn)備好,而主動(dòng)讓出的。這里的切換是沒有任何代價(jià),可以理解為循環(huán)處理多個(gè)準(zhǔn)備好的事件。
多線程方式相比,這種事件處理方式是有很大的優(yōu)勢的,不需要?jiǎng)?chuàng)建線程,每個(gè)請求占用的內(nèi)存也很少,沒有上下文切換, 事件處理非常的輕量級,并發(fā)數(shù)再多也不會(huì)導(dǎo)致無謂的資源浪費(fèi)(上下文切換)。對于 apache 服務(wù)器,每個(gè)請求會(huì)獨(dú)占一個(gè)工作線程,當(dāng)并發(fā)數(shù)上到幾千時(shí),就同時(shí)有幾千的線程在處理請求了。這對操作系統(tǒng)來說,是個(gè)不小的挑戰(zhàn):因?yàn)榫€程帶來的內(nèi)存占用非常大,線程的上下文切換帶來的 cpu 開銷很大,自然性能就上不 去,從而導(dǎo)致在高并發(fā)場景下性能下降嚴(yán)重。
總結(jié):通過異步非阻塞的事件處理機(jī)制,Nginx 實(shí)現(xiàn)由進(jìn)程循環(huán)處理多個(gè)準(zhǔn)備好的事件,從而實(shí)現(xiàn)高并發(fā)和輕量級。
二、搭建Nginx服務(wù)器
Nginx官方下載地址:http://nginx.org/download/
本人提供的下載地址:https://pan.baidu.com/s/1PL0GyzRQ8zSPD74309R44g
提取碼:4mt4
1、將nginx-1.14.0.tar.gz上傳至服務(wù)器(由于后面有一個(gè)升級Nginx的操作,所以先安裝一個(gè)低版本的Nginx)

[root@nginx ~]# rz    #在xshell中上傳所需源碼包
[root@nginx ~]# tar zxf nginx-1.14.0.tar.gz -C /usr/src  #解包
[root@nginx ~]# cd /usr/src/nginx-1.14.0/  #切換至解壓后的目錄
[root@nginx nginx-1.14.0]# useradd -M -s /sbin/nologin nginx  #創(chuàng)建運(yùn)行Nginx的用戶 
[root@nginx nginx-1.14.0]# yum -y erase httpd  #卸載系統(tǒng)自帶的httpd服務(wù),以免沖突
[root@nginx nginx-1.14.0]# yum -y install openssl-devel pcre-devel
[root@nginx nginx-1.14.0]# ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_ssl_module && make && make install

三、Nginx服務(wù)的版本升級至1.2

[root@nginx nginx-1.14.0]# /usr/local/nginx/sbin/nginx   #啟動(dòng)Nginx服務(wù)
[root@nginx nginx-1.2.4]# /usr/local/nginx/sbin/nginx -V
nginx version: nginx/1.14.0   #注意,現(xiàn)在版本為nginx/1.14.0
       .......................#省略部分信息
[root@nginx ~]# rz     #在xshell中上傳所需源碼包

[root@nginx ~]# tar zxf nginx-1.2.4.tar.gz -C /usr/src  #解壓
[root@nginx ~]# cd /usr/src/nginx-1.2.4/  #切換至解壓后的路徑
[root@nginx nginx-1.2.4]# ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_ssl_module && make
#注意,升級時(shí),不要執(zhí)行make install 命令,否則會(huì)覆蓋原有的低版本配置文件
[root@nginx nginx-1.2.4]# pwd   #確認(rèn)當(dāng)前路徑
/usr/src/nginx-1.2.4 
[root@nginx nginx-1.2.4]# mv /usr/local/nginx/sbin/nginx nginx.bak
#將舊版本的服務(wù)控制命令進(jìn)行更名
[root@nginx nginx-1.2.4]# cp objs/nginx /usr/local/nginx/sbin/  #復(fù)制新生成的控制命令至指定目錄
[root@nginx nginx-1.2.4]# kill -USR2 `cat /usr/local/nginx/logs/nginx.pid`
#生成新的PID號
[root@nginx nginx-1.2.4]# kill -HUP `cat /usr/local/nginx/logs/nginx.pid`  #重啟Nginx服務(wù)
[root@nginx nginx-1.2.4]# /usr/local/nginx/sbin/nginx -V  #查看是否已經(jīng)升級
nginx version: nginx/1.2.4   #版本為1.2.4,升級成功

四、修改Nginx服務(wù)頭部信息
一般是為了提高安全性,我們會(huì)對客戶端進(jìn)行隱藏Nginx的版本信息,具體操作如下:

#修改前,客戶端訪問,可以看到我們Nginx服務(wù)器的版本等信息,如下:
[root@nginx nginx-1.2.4]# curl -I 127.0.0.1   #獲取頭部信息
HTTP/1.1 200 OK
Server: nginx/1.2.4    #版本信息顯示的很詳細(xì)
Date: Thu, 17 Oct 2019 14:40:50 GMT
Content-Type: text/html
Content-Length: 612
Last-Modified: Thu, 17 Oct 2019 14:20:40 GMT
Connection: keep-alive
Accept-Ranges: bytes
#現(xiàn)在進(jìn)行修改如下:
[root@nginx nginx-1.2.4]# pwd  #確定當(dāng)前工作路徑在源碼包中
/usr/src/nginx-1.2.4
[root@nginx nginx-1.2.4]# vim src/core/nginx.h   #修改該文件,隨便修改即可
#define nginx_version    1002004
#define NGINX_VERSION    "666"  #這里為版本號信息
#define NGINX_VER      "ljz/" NGINX_VERSION   #這里原來為Nginx,現(xiàn)更改為ljz
#注意,上述配置項(xiàng)前面的注釋符號不用刪除
#更改完成后,保存退出即可
[root@nginx nginx-1.2.4]# vim src/http/ngx_http_header_filter_module.c
#編輯該配置文件
static char ngx_http_server_string[] = "Server: ljz" CRLF;
#搜索“nginx”,定位到該行,然后更改其中原來的nginx為ljz,注意,這里必須和前一個(gè)配置文件中指定的名字一樣
#更改完成后,保存退出即可
[root@nginx nginx-1.2.4]# vim src/http/ngx_http_special_response.c  #編輯此配置文件
static u_char ngx_http_error_tail[] =   #注意,有一段配置和這段內(nèi)容非常相似,主要區(qū)分這一行即可
#如果改錯(cuò)了,在后面將會(huì)報(bào)錯(cuò)
"<hr><center>ljz</center>" CRLF   #將此行中間的nginx更改為ljz。
"</body>" CRLF
"</html>" CRLF
#更改完成后,保存退出即可
[root@nginx nginx-1.2.4]# ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_ssl_module && make
#重新配置及編譯
[root@nginx nginx-1.2.4]# mv /usr/local/nginx/sbin/nginx nginx2.bak  #將原有的nginx命令改名
[root@nginx nginx-1.2.4]# cp objs/nginx /usr/local/nginx/sbin/   #復(fù)制新生成的nginx命令到指定目錄
[root@nginx nginx-1.2.4]# /usr/local/nginx/sbin/nginx -s stop   #停止nginx服務(wù)
[root@nginx nginx-1.2.4]# /usr/local/nginx/sbin/nginx   #啟動(dòng)nginx
[root@nginx nginx-1.2.4]# curl -I 127.0.0.1  #查看其頭部信息
HTTP/1.1 200 OK
Server: ljz/666    #已經(jīng)更改成功
   ...............#省略部分內(nèi)容

五、nginx主配置文件中 location選項(xiàng)的詳解
在nginx的主配置文件中,有一個(gè)http{ }的段落,在http{ }中還包含了server { },其中一個(gè)server { }就代表一個(gè)虛擬主機(jī),可以在其中針對某個(gè)web服務(wù)配置不同的參數(shù),這里說一下location { }的詳細(xì)配置。
1、root和alias的區(qū)別

  • root:是實(shí)際訪問的文件路徑會(huì)被拼接成URL的路徑;
  • alias:實(shí)際訪問的文件路徑不會(huì)被拼接URL路徑

在下面的配置中,“ ^ ”表示以什么開頭,“ ~ ”表示使用正則匹配表達(dá)式
1)現(xiàn)在將配置文件中的location改為如下內(nèi)容:

[root@nginx conf]# vim nginx.conf      #編輯主配置文件
http {
   ...............#省略部分內(nèi)容   
   server {
     listen    80;
       location ^~ /www {
       root  /var/www/html;  #當(dāng)訪問127.0.0.1/www時(shí),會(huì)尋找/var/www/html路徑下的www目錄
       index  index.html index.htm;
     }

   ...............#省略部分內(nèi)容
   }
}
[root@nginx nginx]# nginx -t
[root@nginx nginx]# nginx -s reload   #多重載兩次服務(wù),否則可能不生效
[root@nginx nginx]# nginx -s reload
[root@nginx conf]# mkdir -p /var/www/html/www
[root@nginx conf]# echo "/var/www/html/www/index.html" > /var/www/html/www/index.html

客戶端訪問192.168.20.5/www進(jìn)行測試:
Nginx服務(wù)器的安裝配置和優(yōu)化
2)現(xiàn)在將配置文件中的location改為如下內(nèi)容:

[root@nginx conf]# vim nginx.conf      #編輯主配置文件
http {
   ...............#省略部分內(nèi)容   
   server {
     listen    80;
      location ^~ /test02 {
       alias  /var/www/test02;  #訪問127.0.0.1/test02會(huì)尋找/var/www/test02目錄下的網(wǎng)頁文件
       index  index.html index.htm;
     }

   ...............#省略部分內(nèi)容
   }
}
[root@nginx nginx]# nginx -t
[root@nginx nginx]# nginx -s reload   
[root@nginx nginx]# nginx -s reload
[root@nginx conf]# mkdir -p /var/www/test02
[root@nginx conf]# echo "/var/www/test02/index.html" > /var/www/test02/index.html

客戶端訪問192.168.20.5/test02進(jìn)行測試:
Nginx服務(wù)器的安裝配置和優(yōu)化
2、匹配指定的后綴時(shí),就重定向到指定的文件
示范一:

[root@nginx conf]# vim nginx.conf      #編輯主配置文件
http {
   ...............#省略部分內(nèi)容   
   server {
     listen    80;
       location ~* .(gif|jpg|png)$ {
       rewrite .(gif|jpg)$ /error.png;
     }
#以上表示當(dāng)訪問gif和jpg結(jié)尾的文件跳轉(zhuǎn)到/usr/local/nginx/html/error.png
   ...............#省略部分內(nèi)容
   }
}
[root@nginx nginx]# nginx -t
[root@nginx nginx]# nginx -s reload   
[root@nginx nginx]# nginx -s reload
[root@nginx html]# pwd   #查看當(dāng)前路徑
/usr/local/nginx/html
[root@nginx html]# ls   #error.png需存放在這個(gè)目錄下
50x.html  error.png  index.html

客戶端訪問192.168.20.5/bb.gif進(jìn)行測試:
Nginx服務(wù)器的安裝配置和優(yōu)化
示范二:

[root@nginx res]# pwd
/webroot/res
[root@nginx res]# ls       #該路徑下存放的圖片
test1.jpg
[root@nginx html]# pwd      #當(dāng)前路徑
/usr/local/nginx/html
[root@nginx html]# cat index.html    #有一個(gè)首頁文件
/usr/local/nginx/html/index.html
[root@nginx html]# vim ../conf/nginx.conf      #編輯主配置文件
   server {
     listen    80;
     server_name  localhost;
     location ~* \.(gif|jpg|jpeg|png|css|js|ico)$ {   #“~”表示使用正則表達(dá)式,“ * ”表示不區(qū)分大小寫
       root /webroot/res;  #當(dāng)訪問以以上gif、jpg等結(jié)尾的文件時(shí),就去/webroot/res目錄下找
       index index.html index.html;
         }
     location / {
       root  html;
       index  index.html index.htm;
     }
[root@nginx html]# nginx -s reload    #重啟服務(wù),使更改生效

客戶端訪問Nginx的192.168.20.5進(jìn)行測試:
Nginx服務(wù)器的安裝配置和優(yōu)化
看到的是html下的index.html文件的內(nèi)容?,F(xiàn)在訪問192.168.20.5/test1.jpg進(jìn)行測試:
Nginx服務(wù)器的安裝配置和優(yōu)化
這樣,看到的就是/webroot/res/目錄下的test1.jpg圖片。
3、當(dāng)匹配指定的請求方式,就返回特定的狀態(tài)碼

[root@nginx conf]# vim nginx.conf      #編輯主配置文件
http {
   ...............#省略部分內(nèi)容   
   server {
     listen    80;
      if ($request_method = TEST) {
       return 666;
     }
#當(dāng)客戶端以TEST的方式訪問時(shí),返回狀態(tài)碼666
   ...............#省略部分內(nèi)容
   }
}
[root@nginx nginx]# nginx -t
[root@nginx nginx]# nginx -s reload   
[root@nginx nginx]# nginx -s reload

在本機(jī)執(zhí)行命令 curl -X TEST -I 127.0.0.1 進(jìn)行測試:
可以看到返回了我們指定的狀態(tài)碼
Nginx服務(wù)器的安裝配置和優(yōu)化
4、當(dāng)客戶端不是以指定域名訪問時(shí),就跳轉(zhuǎn)到指定的域名

[root@nginx conf]# vim nginx.conf      #編輯主配置文件
http {
   ...............#省略部分內(nèi)容   
   server {
     listen    80;
         if ($host != 'www.test.com'){
              rewrite ^/(.*)$ https://www.baidu.com/$1;
         }
#以上表示當(dāng)客戶端不是通過www.test.com域名訪問時(shí),就跳轉(zhuǎn)到百度首頁
   ...............#省略部分內(nèi)容
   }
}
[root@nginx nginx]# nginx -t
[root@nginx nginx]# nginx -s reload   
[root@nginx nginx]# nginx -s reload

客戶端訪問192.168.20.5進(jìn)行測試:
由于我在截圖之前,就訪問了一次,所以,這里輸入IP時(shí),自動(dòng)會(huì)和百度對應(yīng)上。
Nginx服務(wù)器的安裝配置和優(yōu)化
六、配置https訪問Nginx
我們都知道http是80端口,https是443端口,由于https更加安全,所以現(xiàn)在大多數(shù)web服務(wù)都是通過https方式進(jìn)行訪問的,接下來,就配置一下https訪問nginx服務(wù)器。

由于互聯(lián)網(wǎng)認(rèn)證的CA證書需要付費(fèi)購買,所以這里就自己做一個(gè),沒有經(jīng)過互聯(lián)網(wǎng)認(rèn)證的CA證書。

[root@nginx ca]# pwd   #切換至指定目錄
/usr/local/nginx/ca
[root@nginx ca]# openssl genrsa -out ca.key 4096  #生成秘鑰文件
[root@nginx ca]# openssl req -new -x509 -days 7304 -key ca.key -out ca.crt
#以下所有填寫的內(nèi)容,可直接按回車,接收默認(rèn)值
       ..................#省略部分內(nèi)容
Country Name (2 letter code) [XX]:zh    #國家名稱
State or Province Name (full name) []:beijing     #州或省名(全稱)
Locality Name (eg, city) [Default City]:beijing  #城市名稱
Organization Name (eg, company) [Default Company Ltd]:test  #公司名稱
Organizational Unit Name (eg, section) []:operation   #所在部門
Common Name (eg, your name or your server's hostname)   []:test.com  #主機(jī)名
Email Address []:lv916551516@163.com   #郵箱
[root@nginx ca]# ls    #確保當(dāng)前目錄下有下面兩個(gè)文件
ca.crt  ca.key
[root@nginx ca]# vim /usr/local/nginx/conf/nginx.conf   #編輯主配置文件
       ..................#省略部分內(nèi)容,搜索“HTTPS”定位到下面的配置項(xiàng),并刪除HTTPS下面server{ }所有的注釋符號
#更改后如下(共修改兩行即可):

   server {
     listen    443 ssl;
     server_name  localhost;

     ssl_certificate    /usr/local/nginx/ca/ca.crt;   #就改這一行,指定ca.crt的絕對路徑
     ssl_certificate_key  /usr/local/nginx/ca/ca.key;   #再改這一行,指定ca.key的絕對路徑

     ssl_session_cache   shared:SSL:1m;
     ssl_session_timeout  5m;

     ssl_ciphers  HIGH:!aNULL:!MD5;
     ssl_prefer_server_ciphers  on;

     location / {
       root  html;
       index  index.html index.htm;
     }
   }

}

#更改完成后,保存退出即可
[root@nginx ca]# nginx -s reload   #重啟nginx
[root@nginx ca]# nginx -s reload

客戶端使用https訪問測試(由于證書沒有經(jīng)過互聯(lián)網(wǎng)認(rèn)證的,所以會(huì)出現(xiàn)下面的警告信息,單擊“高級”,選擇繼續(xù)訪問即可):
Nginx服務(wù)器的安裝配置和優(yōu)化
https訪問成功:
Nginx服務(wù)器的安裝配置和優(yōu)化
七、開啟Nginx訪問認(rèn)證
有些時(shí)候,我們web服務(wù)的一些頁面,不方便對所有人開放,這事,可以開啟該網(wǎng)頁的訪問認(rèn)證,開啟后,就需要使用用戶名密碼進(jìn)行登錄,才可看到相應(yīng)的頁面。

沒有開啟訪問認(rèn)證的情況下訪問我們192.168.20.5/auth/的網(wǎng)頁文件,,可以直接訪問,如下:
Nginx服務(wù)器的安裝配置和優(yōu)化
現(xiàn)在開啟認(rèn)證:

[root@nginx ~]# yum -y install httpd-tools    #安裝所需htpasswd工具
[root@nginx ~]# htpasswd -c /usr/local/nginx/.passwd admin   #創(chuàng)建一個(gè)admin用戶
New password:    #輸入用戶密碼
Re-type new password:    #確認(rèn)密碼
#注:若要向.passwd中添加第二個(gè)用戶,需要省略“-c”選項(xiàng),否則會(huì)覆蓋之前的所有用戶。
Adding password for user admin
[root@nginx ~]# vim /usr/local/nginx/conf/nginx.conf     #編輯Nginx配置文件
       ......................#省略部分內(nèi)容,編輯需要開啟認(rèn)證的server配置段
 server {
     listen    80;
     server_name  localhost;

     #charset koi8-r;

     #access_log  logs/host.access.log  main;

     location /auth {       #注意這里實(shí)際的路徑相當(dāng)于“/usr/local/nginx/html/auth”
       root  html;
       index  index.html index.htm;
       auth_basic "請輸入登錄賬號";     #添加提示語句
       auth_basic_user_file /usr/local/nginx/.passwd;   #指定密碼文件的存放路徑
     }
#編輯完成后,保存退出即可
[root@nginx nginx]# nginx -s reload     #重啟Nginx服務(wù)

客戶端進(jìn)行訪問測試(會(huì)提示輸入用戶名及密碼,只要是.passwd文件中包含的用戶和密碼,都能進(jìn)行登錄):
Nginx服務(wù)器的安裝配置和優(yōu)化
登錄成功后,就可以看到了網(wǎng)頁文件:
Nginx服務(wù)器的安裝配置和優(yōu)化

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

新聞名稱:Nginx服務(wù)器的安裝配置和優(yōu)化-創(chuàng)新互聯(lián)
本文來源:http://muchs.cn/article8/djecop.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計(jì)公司、ChatGPT、用戶體驗(yàn)、面包屑導(dǎo)航、微信小程序、網(wǎng)站改版

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化