Nginx動靜分離經典案例配置
隨著Nginx高效能Web伺服器大量被使用,目前Nginx最新穩定版為1.2.6,張宴兄在實際應用中大量使用Nginx,並分享Nginx高效能Web伺服器知識,使得Nginx在國內也是飛速的發展。那今天咱們再來溫習一下Nginx 動靜分離知識,這裡僅供參考。
一、實踐環境:
- 系統版本:CentOS6.0 X86_64
- Nginx版本:Nginx-1.2.6
- Tomcat版本:Tomcat-6.0.18
二、Nginx安裝:
實際環境中安裝Nginx,首先需要安裝pcre庫,然後再安裝Nginx:
-
#安裝pcre支援rewrite庫,也可以安裝原始碼,注*安裝原始碼時,指定pcre路徑為解壓原始碼的路徑,而不是編譯後的路徑,否則會報錯。
- yum install pcre-devel pcre -y
- #下載Nginx原始碼包
- cd /usr/src ;wget -c http://nginx.org/download/nginx-1.2.6.tar.gz
- #解壓Nginx原始碼包
- tar -xzf nginx-1.2.6.tar.gz
- #進入解壓目錄,然後sed修改Nginx版本資訊為TDTWS
- cd nginx-1.2.6 ; sed -i -e 's/1.2.6//g' -e 's/nginx\//TDTWS/g' -e 's/"NGINX"/"TDTWS"/g' src/core/nginx.h
- #預編譯Nginx
-
./configure --user=www --group=www --prefix=/usr/local/nginx --with
- #.configure預編譯成功後,執行make命令進行編譯
- make
- #make執行成功後,執行make install 正式安裝
- make install
- #自此Nginx安裝完畢!!!
三、配置Nginx:
這裡鑑於我的51CTO部落格已經有Tomcat安裝和配置了,這裡忽略,只配置Nginx。
- #進入Nginx應用目錄
- cd /usr/local/nginx/conf
- #備份原nginx.conf檔案
- mv nginx.conf nginx.bak
建立 vi nginx.conf ,並寫入如下內容:
- user www www;
- worker_processes 8;
- worker_cpu_affinity 00000001 00000010 00000100 00001000 00010000 00100000 01000000 10000000;
- pid /usr/local/nginx/nginx.pid;
- worker_rlimit_nofile 102400;
- events
- {
- use epoll;
- worker_connections 102400;
- }
- http
- {
- include mime.types;
- default_type application/octet-stream;
- fastcgi_intercept_errors on;
- charset utf-8;
- server_names_hash_bucket_size 128;
- client_header_buffer_size 4k;
- large_client_header_buffers 4 32k;
- client_max_body_size 300m;
- sendfile on;
- tcp_nopush on;
- keepalive_timeout 60;
- tcp_nodelay on;
- client_body_buffer_size 512k;
- proxy_connect_timeout 5;
- proxy_read_timeout 60;
- proxy_send_timeout 5;
- proxy_buffer_size 16k;
- proxy_buffers 4 64k;
- proxy_busy_buffers_size 128k;
- proxy_temp_file_write_size 128k;
- gzip on;
- gzip_min_length 1k;
- gzip_buffers 4 16k;
- gzip_http_version 1.1;
- gzip_comp_level 2;
- gzip_types text/plain application/x-javascript text/css application/xml;
- gzip_vary on;
- ###2012-12-19 change nginx logs
- log_format main '$http_x_forwarded_for - $remote_user [$time_local] "$request" '
- '$status $body_bytes_sent "$http_referer" '
- '"$http_user_agent" $request_time $remote_addr';
- #這裡為後端伺服器wugk應用叢集配置,根據後端實際情況修改即可,tdt_wugk為負載均衡名稱,可以任意指定
- #但必須跟vhosts.conf虛擬主機的pass段一致,否則不能轉發後端的請求。
- upstream tdt_wugk {
- server 10.10.141.30:8080 weight=1max_fails=2fail_timeout=30s;
- server 10.10.141.30:8081 weight=1max_fails=2fail_timeout=30s;
- server 10.10.141.31:8080 weight=1max_fails=2fail_timeout=30s;
- server 10.10.141.31:8081 weight=1max_fails=2fail_timeout=30s;
- server 10.10.141.32:8080 weight=1max_fails=2fail_timeout=30s;
- server 10.10.141.32:8081 weight=1max_fails=2fail_timeout=30s;
- }
-
#這裡為後端APP應用負載均衡配置,根據後端實際情況修改即可。tdt_app為負載均衡名稱,可以任意指定
- upstream tdt_app {
- server 10.10.141.40:8080 weight=1max_fails=2fail_timeout=30s;
- server 10.10.141.40:8081 weight=1max_fails=2fail_timeout=30s;
- server 10.10.141.41:8080 weight=1max_fails=2fail_timeout=30s;
- server 10.10.141.41:8081 weight=1max_fails=2fail_timeout=30s;
- server 10.10.141.42:8080 weight=1max_fails=2fail_timeout=30s;
- server 10.10.141.42:8081 weight=1max_fails=2fail_timeout=30s;
- }
- #include引用vhosts.conf,該檔案主要用於配置Nginx 虛擬主機
- include vhosts.conf;
- }
如上nginx.conf配置完畢,繼續配置nginx虛擬主機,繼續在當前目錄建立vhosts.conf
vi vhosts.conf 內容如下:
- ####www.wuguangke.cn
- server
- {
- listen 80;
- server_name www.wuguangke.cn;
- index index.html index.htm;
- #配置釋出目錄為/data/www/wugk
- root /data/www/wugk;
- location /
- {
- proxy_next_upstream http_502 http_504 error timeout invalid_header;
- proxy_set_header Host $host;
- proxy_set_header X-Real-IP $remote_addr;
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
- proxy_pass http://tdt_wugk;
- expires 3d;
- }
- #動態頁面交給http://tdt_wugk,也即我們之前在nginx.conf定義的upstream tdt_wugk 均衡
- location ~ .*\.(php|jsp|cgi)?$
- {
- proxy_set_header Host $host;
- proxy_set_header X-Real-IP $remote_addr;
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
- proxy_pass http://tdt_wugk;
- }
- #配置Nginx動靜分離,定義的靜態頁面直接從Nginx釋出目錄讀取。
- location ~ .*\.(html|htm|gif|jpg|jpeg|bmp|png|ico|txt|js|css)$
- {
- root /data/www/wugk;
- #expires定義使用者瀏覽器快取的時間為3天,如果靜態頁面不常更新,可以設定更長,這樣可以節省頻寬和緩解伺服器的壓力
- expires 3d;
- }
- #定義Nginx輸出日誌的路徑
- access_log /data/logs/nginx_wugk/access.log main;
- error_log /data/logs/nginx_wugk/error.log crit;
- }
- ##########chinaapp.sinaapp.com 2012-12-19
- server
- {
- listen 80;
- server_name chinaapp.sinaapp.com;
- index index.html index.htm;
- root /data/www;
- location /
- {
- proxy_next_upstream http_502 http_504 error timeout invalid_header;
- proxy_set_header Host $host;
- proxy_set_header X-Real-IP $remote_addr;
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
- proxy_pass http://tdt_app;
- expires 3d;
- }
- location ~ .*\.(php|jsp|cgi)?$
- {
- proxy_set_header Host $host;
- proxy_set_header X-Real-IP $remote_addr;
- proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
- proxy_pass http://tdt_app;
- }
- location ~ .*\.(html|htm|gif|jpg|jpeg|bmp|png|ico|txt|js|css)$
- {
- root /data/www/app;
- expires 3d;
- }
- access_log /data/logs/nginx_app/access.log main;
- error_log /data/logs/nginx_app/error.log crit;
- }
四、部署測試:
後端配置好Tomcat服務,並啟動,釋出的程式需同步到Nginx的/data/www對應的目錄,因為配置動靜分離後,使用者請求你定義的靜態頁面,預設會去nginx的釋出目錄請求,而不會到後端請求,所以這時候你要保證後端跟前端的程式保持一致,可以使用Rsync做服務端自動同步。
- #檢查Nginx配置檔案是否配置正確,提示Ok and successful表示正確,如下:
- [[email protected] ~]# /usr/local/nginx/sbin/nginx -t
- nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
- nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
- #啟動Nginx服務
- /usr/local/nginx/sbin/nginx
- #檢視Nginx程序是否啟動
-
ps -ef |grep nginx
相關推薦
Nginx動靜分離經典案例配置
隨著Nginx高效能Web伺服器大量被使用,目前Nginx最新穩定版為1.2.6,張宴兄在實際應用中大量使用Nginx,並分享Nginx高效能Web伺服器知識,使得Nginx在國內也是飛速的發展。那今天咱們再來溫習一下Nginx 動靜分離知識,這裡僅供參考。 一、實踐環境:
配置nginx動靜分離
nginx動靜分離 配置nginx動靜分離1.修改nginx配置文件#location ~ \.php$ {root html;
複習電商筆記-14-Nginx動靜分離和圖片回顯配置
*Nginx動靜分離 Nginx解析圖片靜態資源。 注意:如果按下面方法修改後依然報這個錯誤,則換瀏覽器測試。chrome有的版本js相容不夠好。(chrome版本 43.0.2357.124 m正確) 優化:靜態資源儘量不要走應用伺服器,而直接
Nginx+Tomcat配置動靜分離(附完整配置+註釋)
我的環境 Centos6.5 X86_64 Nginx1.8.0 Tomcat7.o Nginx配置 #Nginx.conf user caogen; worker_processes 1; #因為我用的是虛擬機器 只設置了1CPU error_l
nginx 動靜分離
動靜分離隨著Nginx高性能Web服務器大量被使用,目前Nginx最新穩定版為1.2.6,張宴兄在實際應用中大量使用Nginx,並分享Nginx高性能Web服務器知識,使得Nginx在國內也是飛速的發展。那今天咱們再來溫習一下Nginx 動靜分離知識,這裏僅供參考。一、實踐環境:系統版本:CentOS6.0
nginx動靜分離小示例
lis span gin 其他 cati cal 分離 log root server { listen 80; server_name www.xxx.cn; #靜態頁面 #匹配首頁,ur
Apache與Nginx動靜分離
one href tar .com spl 客戶機 serve ati 使用 概述 Nginx的靜態處理能力很強,但是動態處理能力不足,因此,在企業中常用動靜分離技術。動靜分離技術其實是采用代理的方式,在server{}段中加入帶正則匹配的location來指定匹配項
Nginx動靜分離《三》
cat 性能 app css oot 概念 nbsp war 8.0 1.概念 所謂的動靜分離就是指圖片,css, js之類的都交給nginx來處理,nginx處理不了的,比如jsp 就交給tomcat來處理 好處是nginx處理靜態內容的吞吐量很高,比tomcat
CentOS7.4—構建Apache+Nginx動靜分離
構建apache+nginx動靜分離構建Apache+Nginx動靜分離實驗目的:html靜態頁面由nginx處理,php動態頁面交給apache處理 目錄第一部分 準備工作第二部分 配置apache+nginx動靜分離第三部分 測試驗證 第一部分 環境準備一:服務器兩臺:Linux系統—CentOS
Nginx動靜分離
process type ces 分鐘 靜態文件 color RKE 提高 mime 當我們請求一個網頁的時候,可能會加載很多css,js,img等靜態文件;一般這些文件是很久都不會變化的,所以我們為了提高頁面響應速度,完全可以將這些文件緩存到瀏覽器中(可以理解為cooki
linux CentOS7 下 Nginx 動靜分離
動靜分離不解釋了,理論網上一堆一堆的,但實現手段我理解就是特定的請求使用特定的處理方式。 nginx安裝參考這個: https://blog.csdn.net/tangyaliang11/article/details/78675535 tomcat安裝參考這個:https://bl
網站集群架構實戰(LVS負載均衡、Nginx代理緩存、Nginx動靜分離、Rsync+Inotify全網備份、Zabbix自動註冊全網監控)--技術流ken
.com auth 分發 發生 lnmp process daemon bytes sendfile 前言 最近做了一個不大不小的項目,現就刪繁就簡單獨拿出來web集群這一塊寫一篇博客。數據庫集群請參考《MySQL集群架構篇:MHA+MySQL-PROXY+LVS實現M
nginx動靜分離之後,設定預設主頁
nginx動靜分離之後,設定預設主頁 預設情況下,配置nginx動靜分離之後,預設location / 是到後端,不能設定前段頁面為預設主頁。需如下配置 upstream abc { server 172.16.3.20:9000 weight=1 max_fails
nginx動靜分離後個別靜態檔案代理至後端
nginx動靜分離後個別靜態檔案代理至後端 vekergu關注1人評論16783人閱讀2015-07-21 16:12:47 網站通
Nginx 動靜分離與負載均衡的實現
一、前提 企業中,隨著使用者的增長,資料量也幾乎成幾何增長,資料越來越大,隨之也就出現了各種應用的瓶頸問題。 問題出現了,我們就得想辦法解決,一般網站環境
Nginx動靜分離+快取
Nginx動靜分離+快取 #進入Nginx應用目錄 cd /etc/nginx/ #備份原nginx.conf檔案 mv nginx.conf nginx.bak 建立 vi nginx.conf ,並寫入如下內容: user www www; worker_proce
網站叢集架構實戰(LVS負載均衡、Nginx代理快取、Nginx動靜分離、Rsync+Inotify全網備份、Zabbix自動註冊全網監控)--技術流ken
前言 WEB叢集專案簡介 隨著網站訪問量的激增,勢必會導致網站的負載增加,現需求搭載一套高效能,高負載,高可用的網站叢集架構以保障網站的持續、高效、安全、穩定的執行。 針對以上需求,我們採用瞭如下的技術: 使用負載均衡技術來實現網站請求的排程分發,減小後端伺服器的壓力。 配置了KEEPALIVED解決
nginx動靜分離,排除某個路徑下的靜態資源
我們的web專案在nginx上做了一次動靜分離,在nginx上的配置: location ~ .*\.(html|htm|gif|jpg|jpeg|bmp|png|ico|txt|js|css)$ { root /data/vangogh/;
Nginx動靜分離及效能調優實踐
直接看配置檔案!直接看配置檔案!直接看配置檔案! #user nobody; worker_processes 8; #error_log logs/error.log; #error_log logs/error.log notice; #error_log
5.3 Nginx 動靜分離
找不到 直接 linux apps css 腳本 images 0.10 inf Server 腳本片段 server { listen 80; server_name ccserver1; #chars