Ⅰ 如何訪問http伺服器nginx
一般來說,需要性能的web 服務,用nginx 。如果不需要性能只求穩定,那就apache 吧。後者的各種功能模塊實現得比前者,例如ssl 的模塊就比前者好,可配置項多。
這里要注意一點,epoll(freebsd 上是 kqueue )網路IO 模型是nginx 處理性能高的根本理由,但並不是所有的情況下都是epoll 大獲全勝的,如果本身提供靜態服務的就只有寥寥幾個文件,apache 的select 模型或許比epoll 更高性能。
Ⅱ 如何在windows上配置並運行Nginx
在windows上配置並運行Nginx的步驟:
一、運行環境如下:
1、物理主機一台,CPU:core2 T5750,2G內存,Windows 7操作系統,IP地址192.168.1.98,主機名sxwgf-PC,該主機用來當作Nginx代理伺服器(P)和一台Web伺服器(A);
2、在物理主機中開一台虛擬主機,Windows Server 2003操作系統,IP地址192.168.1.99,主機名hzdk-vpc,該主機用來當作另一台Web伺服器(B)。
二、現在要達到這樣一個目標:通過瀏覽器訪問Web伺服器A和Web伺服器B,由Nginx代理伺服器P自動調節A和B的訪問壓力。好了,現在具體來配置各個伺服器:
1、已結安裝了Nginx,直接啟動它,如果正確啟動,任務管理器中會有兩個名為nginx的守護進程,確保啟動後,進行如下配置: 找到nginx的解壓目錄,這邊是c: ginx,打開conf目錄下的nginx.conf,具體配置代碼如下:
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
upstream wgf.com{
server 192.168.1.98; #真實伺服器A(sxwgf-PC)
server 192.168.1.99; #真實伺服器B(hzdk-vpc)
}
server { #Nginx代理伺服器
listen 8088;
server_name localhost;
location / {
root html;
index index.html index.htm;
Ⅲ 怎麼訪問nginx代理的伺服器
1.1
反向代理初印象
反向代理(Reverse
Proxy)方式是指以代理伺服器來接受Internet上的連接請求,然後將請求轉發給內部網路上的伺服器,並將從伺服器上得到的結果返回給Internet上請求連接的客戶端,此時代理伺服器對外就表現為一個伺服器。
從上圖可以看出:反向代理伺服器位於網站機房,代理網站Web伺服器接收Http請求,對請求進行轉發。
1.2
反向代理的作用
①保護網站安全:任何來自Internet的請求都必須先經過代理伺服器;
②通過配置緩存功能加速Web請求:可以緩存真實Web伺服器上的某些靜態資源,減輕真實Web伺服器的負載壓力;
③實現負載均衡:充當負載均衡伺服器均衡地分發請求,平衡集群中各個伺服器的負載壓力;
Ⅳ 伺服器nginx怎麼解決htts網頁訪問變慢
把外來的資源下載到本地伺服器調用,是最佳的方法,因為HTTPS加密情況下無法調用HTTP普通協議資源,即使用了代碼,但是很多瀏覽器,默認都會禁止掉。
Ⅳ 網頁出現404notfound和nginx後說明不可以進入頁面嗎該頁面怎樣才能打開呢
404頁面是網站必備的一個頁面,它承載著用戶體驗與SEO優化的重任。404頁面通常為用戶訪問了網站上不存在或已刪除的頁面,伺服器返回的404錯誤。如果站長沒有設置404頁面,會出現死鏈接,蜘蛛爬行這類網址時,不利於搜索引擎收錄。
最常見的出錯提示:404 NOT FOUND。404頁面就是當用戶輸入了錯誤的鏈接時,返回的頁面。
HTTP 404 錯誤意味著鏈接指向的網頁不存在,即原始網頁的URL失效,這種情況經常會發生,很難避免,比如說:網頁URL生成規則改變、網頁文件更名或移動位置、導入鏈接拼寫錯誤等,導致原來的URL地址無法訪問;當Web 伺服器接到類似請求時,會返回一個404 狀態碼,告訴瀏覽器要請求的資源並不存在。404錯誤頁面導致這個錯誤的原因一般來說,有三種:
1、無法在所請求的埠上訪問Web站點。
2、Web服務擴展鎖定策略阻止本請求。
3、MIME映射策略阻止本請求。
解決方法:把缺少的網頁文件恢復到正確的位置,重新設置網路服務。對於用戶來講,需要檢查你所輸入的網路地址是否正確。
Ⅵ 網頁打不開,顯示404 Not Found ——nginx/1.0.6,求解決辦法。
404 Not Found
伺服器找不到請求的網頁。例如,如果請求是針對伺服器上不存在的網頁進行的,那麼,伺服器通常會返回此代碼。
這個與你nginx設置有關,通常是nginx設置的訪問路徑下沒有相應的網頁。!最好給出你nginx的配置文件。我給你一個示例,是我的nginx配置:
...
server {
listen 80;
server_name app.test.cc;
index index.jsp index.htm index.html;
root /home/app/login/jboss/webapps
....
location ~ .*\.(xml|htm|html)$
{
expires -1s;
}
....
}
如上所配置,加入你直接訪問app.test.cc 。那麼請求會直接到你root設置的目錄/home/app/login/jboss/webapps下依次找尋index index.jsp index.htm index.html的頁面文件,沒有找到就會報404錯誤。
另,你可以安裝firefox並安裝組件firebug,打開firefox按F12,再訪問你的頁面。這時候,火狐會將你訪問請求的每一步,失敗的原因,及失敗的鏈接都給出來。
Ⅶ nginx負載均衡怎麼訪問資料庫
nginx 是一個輕量級的、高性能的 web server 主要可以干兩件事情:
1、直接作為http server(代替apache,對php需要FastCGI處理器支持);
2、作為反向代理伺服器實現負載均衡
以下我們就來舉例說明如何使用 nginx 實現負載均衡。因為nginx在處理並發方面的優勢,現在這個應用非常常見。當然了Apache的 mod_proxy和mod_cache結合使用也可以實現對多台app server的反向代理和負載均衡,但是在並發處理方面apache還是沒有 nginx擅長。
方法/步驟
1
一、環境:
a. 我們本地是Windows系統,然後使用VirutalBox安裝一個虛擬的Linux系統。
在本地的Windows系統上分別安裝nginx(偵聽8080埠)和apache(偵聽80埠)。在虛擬的Linux系統上安裝apache(偵聽80埠)。
這樣我們相當於擁有了1台nginx在前端作為反向代理伺服器;後面有2台apache作為應用程序伺服器(可以看作是小型的server cluster。;-) );
b. nginx用來作為反向代理伺服器,放置到兩台apache之前,作為用戶訪問的入口;
nginx僅僅處理靜態頁面,動態的頁面(php請求)統統都交付給後台的兩台apache來處理。
也就是說,可以把我們網站的靜態頁面或者文件放置到nginx的目錄下;動態的頁面和資料庫訪問都保留到後台的apache伺服器上。
c. 如下介紹兩種方法實現server cluster的負載均衡。
我們假設前端nginx(為127.0.0.1:80)僅僅包含一個靜態頁面index.html;
後台的兩個apache伺服器(分別為localhost:80和158.37.70.143:80),一台根目錄放置phpMyAdmin文件夾和test.php(裡面測試代碼為print 「server1「;),另一台根目錄僅僅放置一個test.php(裡面測試代碼為 print 「server2「;)。
2
二、針對不同請求 的負載均衡:
a. 在最簡單地構建反向代理的時候 (nginx僅僅處理靜態不處理動態內容,動態內容交給後台的apache server來處理),我們具體的設置為:在nginx.conf中修改:
復制代碼 代碼如下:
location ~ \.php$ {
proxy_pass 158.37.70.143:80 ;
}
這樣當客戶端訪問localhost:8080/index.html的時候,前端的nginx會自動進行響應;
當用戶訪問localhost:8080/test.php的時候(這個時候nginx目錄下根本就沒有該文件),但是通過上面的設置 location ~ \.php$(表示正則表達式匹配以.php結尾的文件,詳情參看location是如何定義和匹配的) ,nginx伺服器會自動pass給 158.37.70.143的apache伺服器了。該伺服器下的test.php就會被自動解析,然後將html的結果頁面返回給nginx,然後 nginx進行顯示(如果nginx使用memcached模塊或者squid還可以支持緩存),輸出結果為列印server2。
如上是最為簡單的使用nginx做為反向代理伺服器的例子;
b. 我們現在對如上例子進行擴展,使其支持如上的兩台伺服器。
我們設置nginx.conf的server模塊部分,將對應部分修改為:
復制代碼 代碼如下:
location ^~ /phpMyAdmin/ {
proxy_pass 127.0.0.1:80 ;
}
location ~ \.php$ {
proxy_pass 158.37.70.143:80 ;
}
上面第一個部分location ^~ /phpMyAdmin/,表示不使用正則表達式匹配(^~),而是直接匹配,也就是如果客戶端訪問的 URL是以http://localhost:8080/phpMyAdmin/ 開頭的話(本地的nginx目錄下根本沒有phpMyAdmin目錄),nginx會自動pass到127.0.0.1:80 的Apache伺服器,該伺服器對phpMyAdmin目錄下的頁面進行解析,然後將結果發送給nginx,後者顯示;
如果客戶端訪問URL是http://localhost/test.php 的話,則會被pass到158.37.70.143:80 的apache進行處理。
因此綜上,我們實現了針對不同請求的負載均衡。
如果用戶訪問靜態頁面index.html,最前端的nginx直接進行響應;
如果用戶訪問test.php頁面的話,158.37.70.143:80 的Apache進行響應;
如果用戶訪問目錄phpMyAdmin下的頁面的話,127.0.0.1:80 的Apache進行響應;
3
三、 訪問同一頁面 的負載均衡:
即用戶訪問http://localhost:8080/test.php 這個同一頁面的時候,我們實現兩台伺服器的負載均衡 (實際情況中,這兩個伺服器上的數據要求同步一致,這里我們分別定義了列印server1和server2是為了進行辨認區別)。
a. 現在我們的情況是在windows下nginx是localhost偵聽8080埠;
兩台apache,一台是127.0.0.1:80(包含test.php頁面但是列印server1),另一台是虛擬機的158.37.70.143:80(包含test.php頁面但是列印server2)。
b. 因此重新配置nginx.conf為:
首先在nginx的配置文件nginx.conf的http模塊中添加,伺服器集群server cluster(我們這里是兩台)的定義:
復制代碼 代碼如下:
upstream myCluster {
server 127.0.0.1:80 ;
server 158.37.70.143:80 ;
}
表示這個server cluster包含2台伺服器
〉然後在server模塊中定義,負載均衡:
復制代碼 代碼如下:
location ~ \.php$ {
proxy_pass http://myCluster ; #這里的名字和上面的cluster的名字相同
proxy_ www.gzlij.comredirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
這樣的話,如果訪問http://localhost:8080/test.php 頁面的話,nginx目錄下根本沒有該文件,但是它會自動將其pass到myCluster定義的服務區機群中,分別由127.0.0.1:80;或者158.37.70.143:80;來做處理。
上面在定義upstream的時候每個server之後沒有定義權重,表示兩者均衡;如果希望某個更多響應的話例如:
復制代碼 代碼如下:
upstream myCluster {
server 127.0.0.1:80 weight=5;
server 158.37.70.143:80 ;
}
4
綜上,我們使用nginx的反向代理伺服器reverse proxy server的功能,將其布置到多台apache server的前端。
nginx僅僅用來處理靜態頁面響應和動態請求的代理pass,後台的apache server作為app server來對前台pass過來的動態頁面進行處理並返回給nginx。
通過以上的架構,我們可以實現nginx和多台apache構成的機群cluster的負載均衡。
兩種均衡:
1)可以在nginx中定義訪問不同的內容,代理到不同的後台server; 如上例子中的訪問phpMyAdmin目錄代理到第一台server上;訪問test.php代理到第二台server上;
2)可以在nginx中定義訪問同一頁面,均衡 (當然如果伺服器性能不同可以定義權重來均衡)地代理到不同的後台server上。 如上的例子訪問test.php頁面,會均衡地代理到server1或者server2上。
實際應用中,server1和server2上分別保留相同的app程序和數據,需要考慮兩者的數據同步。
Ⅷ 如何訪問nginx流媒體伺服器
在server模塊下加入以下內容:
location /hls {
alias /usr/local/media/hls;
types {
application/vnd.apple.mpegurl m3u8;
video/mp2t ts;
}
add_header Cache-Control no-cache;
expires -1;
}
location ~* \.flv$ {
flv;
root /usr/local/media/flv;
}
location ~* \.mp4$ {
mp4;
root /usr/local/media/mp4;
}
然後保存退出,啟動nginx伺服器!
Ⅸ 怎麼訪問nginx伺服器中的文件
創建網站,輸入域名訪問。