Nginx是一個高性能的web服務器和反向代理服務器,特色是佔用內存少,併發能力強;事實上Nginx的併發能力確實在同類型的網頁服務器中表現良好;html
Nginx專爲性能優化而開發,性能是其主要的考量;實現上很是注重效率,經得住高併發的考驗,有報告表名能支持高達50000個併發鏈接數linux
在客戶端(瀏覽器)中須要配置代理服務器,經過代理服務器進行互聯網訪問nginx
客戶端只須要將請求發送到反向代理服務器,由反向代理服務器去選擇目標服務器獲取數據,再返回給客戶端,此時反向代理服務器和目標服務器對外就是一個服務器,暴露的是代理服務器地址,隱藏了真實服務器地址 c++
單個服務器解決不了,咱們增長服務器數量,而後將請求分發到各個服務器上,將原先請求集中到單個服務器的狀況改成將請求分發到多個服務器上,將負載分發到不一樣的服務器上,這就是負載均衡web
爲了加快網站的訪問速度,能夠吧動態頁面和靜態頁面由不一樣服務器來解析,加快解析速度。下降原來單個服務器的壓力。瀏覽器
wget http://downloads.sourceforge.net/project/pcre/pcre/8.37/pcre-8.37.tar.gz緩存
解壓文件性能優化
執行 ./configure 完成後,回到pcre目錄下執行 make,服務器
在執行 make install網絡
yum -y install make zlib zlib -devel gcc-c++ libtool openssl openssl-devel
查看開放的防火牆: firewall -cmd --list-all
設置開放的端口:firewall -cmd --add-service=http -permanent
sudu firewall -cmd --add-port=8002/tcp --permanent
重啓防火牆:firewall -cmd --reload
1.使用nginx操做命令前提條件:進入到nginx的目錄下(usr/local/nginx/sbin)
命令說明 | 命令 |
---|---|
查看nginx;版本號 | ./nginx -v |
啓動 nginx | ./nginx |
關閉nginx | /nginx -s stop |
從新加載 nginx | ./nginx -s reload |
nginx配置文件有三部分組成
從配置文件開始到events塊之間的內容,主要會設置一些影響nginx服務器總體運行的配置命令,主要包括配置運行Nginx服務器的用戶組,容許生成的 work_process數,進程PID存放路徑,日誌存放路徑和類型一級配置文件的 引入等。
events塊涉及的指令主要影響Nginx服務器與用戶的網絡鏈接
好比 worker_connections 1024; 支持的最大鏈接數
1 events { 2 worker_connections 1024; 3 }
1 http { 2 include mime.types; 3 default_type application/octet-stream; 4 5 #log_format main '$remote_addr - $remote_user [$time_local] "$request" ' 6 # '$status $body_bytes_sent "$http_referer" ' 7 # '"$http_user_agent" "$http_x_forwarded_for"'; 8 9 #access_log logs/access.log main; 10 11 sendfile on; 12 #tcp_nopush on; 13 proxy_connect_timeout 5; 14 proxy_read_timeout 60; 15 proxy_send_timeout 60; 16 proxy_buffer_size 32k; 17 proxy_buffers 4 128k; 18 proxy_busy_buffers_size 128k; 19 proxy_temp_file_write_size 128k; 20 client_max_body_size 128m; 21 ignore_invalid_headers on; 22 23 24 #keepalive_timeout 0; 25 26 27 28 29 keepalive_timeout 65; 30 31 #gzip on; 32 33 upstream XXXXX { 34 server IP地址:端口號; 35 36 } 37 38 39 server { 40 listen 90; 41 server_name localhost; 42 43 #charset koi8-r; 44 45 #access_log logs/host.access.log main; 46 47 48 location / { 49 # these two lines here 50 proxy_http_version 1.1; 51 proxy_set_header Connection ""; 52 proxy_pass https://域名/; 53 } 54 55 location /ZZZZZ/ { 56 proxy_pass http://XXXXX; 57 } 58 59 #error_page 404 /404.html; 60 61 # redirect server error pages to the static page /50x.html 62 # 63 error_page 500 502 503 504 /50x.html; 64 location = /50x.html { 65 root html; 66 } 67 68 69 } 70 71 server { 72 listen 88; 73 server_name localhost; 74 75 #charset koi8-r; 76 77 #access_log logs/host.access.log main; 78 79 80 location / { 81 # these two lines here 82 proxy_http_version 1.1; 83 proxy_set_header Connection ""; 84 proxy_pass https://域名/; 85 } 86 87 location /ZZZZZ/ { 88 proxy_pass http://XXXXX; 89 } 90 91 #error_page 404 /404.html; 92 93 # redirect server error pages to the static page /50x.html 94 # 95 error_page 500 502 503 504 /50x.html; 96 location = /50x.html { 97 root html; 98 } 99 100 101 } 102 103 server { 104 listen 95; 105 server_name localhost; 106 107 #charset koi8-r; 108 109 #access_log logs/host.access.log main; 110 111 112 location / { 113 # these two lines here 114 proxy_http_version 1.1; 115 proxy_set_header Connection ""; 116 proxy_pass https://域名/; 117 } 118 #error_page 404 /404.html; 119 120 # redirect server error pages to the static page /50x.html 121 # 122 error_page 500 502 503 504 /50x.html; 123 location = /50x.html { 124 root html; 125 } 126 127 128 } 129 130 131 132 }
Nginx最頻繁配置的地方,代理、緩存和日誌定義等 絕大多數功能和第三方模塊的配置都在這裏
http全局塊配置的指令包括文件引入、MIME-TYPE 定義、日誌自定義、鏈接超時時間、單鏈請求數上限等。
這塊和虛擬主機 相關,虛擬主機從用戶側看,和一臺獨立額硬件主機是徹底同樣的,該技術的產生是爲了節省互聯網服務器硬件成本。
每一個http塊能夠包括多個server塊,而每一個server塊至關於一個主機
每一個server塊也分爲全局server塊,以及能夠同時包括多個location塊