curl -I http://192.168.80.11
1.vim /usr/local/nginx/conf/nginx.conf http { include mime.types; default_type application/octet-stream; server_tokens off; #添加,關閉版本號 } 2.systemctl restart nginx 3.curl -I http://192.168.80.11
1.vim /opt/nginx-1.12.0/src/core/nginx.h \#define NGINX_VERSION "1.1.1" #修改版本號 \#define NGINX_VER "apache" NGINX_VERSION #修改服務器類型 2.cd /opt/nginx-1.12.0/ ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module 3.make && make install 4.vim /usr/local/nginx/conf/nginx.conf http { include mime.types; default_type application/octet-stream; server_tokens on; ...... } 5.systemctl restart nginx 6.curl -I http://192.168.80.11
1.vim /usr/local/nginx/conf/nginx.conf user nginx nginx; #取消註釋,修改用戶爲 nginx ,組爲 nginx 2.systemctl restart nginx 3.ps aux | grep nginx #主進程由root建立,子進程由nginx建立
vim /usr/local/nginx/conf/nginx.conf http { ...... server { ...... location ~ \.(gif|jpg|jepg|png)$ { #加入新的 location,以圖片做爲緩存對象 root html; expires 1d; #指定緩存時間,1天 } ...... } }
vim /root/rizhi.sh \#!/bin/bash 1.#顯示前一天的時間 day=$(date -d "-1 day" "+%Y%m%d") \#day=$(date -d "-1 day" "+%F") 2.logs_path="/var/log/nginx" 3.pid_path=`cat /usr/local/nginx/logs/nginx.pid` 4.#建立日誌文件目錄 [ -d $logs_path ] || mkdir -p $logs_path 5.#移動並重命名日誌文件 mv /usr/local/nginx/logs/access.log ${logs_path}/gxd.com-access.log-{$day} 6.#重建日誌文件 kill -USR1 $pid_path 7.#刪除30天前的日誌文件 find $logs_path -mtime +30 -exec rm -rf {} \; #find $logs_path -mtime +30 | xargs rm -rf
注:在linux操做系統中,每一個文件都有不少的時間參數,其中有三個比較主要,分別是ctime,atime,mtime
1.ctime(status time):
當修改文件的權限或者屬性的時候,就會更新這個時間,ctime並非create time,更像是change time,只有當更新文件的屬性或者權限的時候纔會更新這個時間,可是更改內容的話是不會更新這個時間 2.atime(accesstime):
當使用這個文件的時候就會更新這個時間
3.mtime(modification time):
當修改文件的內容數據的時候,就會更新這個時間,而更改權限或者屬性,mtime不會改變,這就是和ctime的區別
javascript
vim /usr/local/nginx/conf/nginx.conf http { ...... keepalive_timeout 65 180; client_header_timeout 80; client_body_timeout 80; ...... }
注:1.HTTP有一個KeepAlive模式,它告訴web服務器在處理完一個請求後保持這個TCP鏈接的打開狀態。若接收到來自客戶端的其它請求,服務端會利用這個未被關閉的鏈接,而不須要再創建一個鏈接
2.KeepAlive 在一段時間內保持打開狀態,它們會在這段時間內佔用資源,佔用過多就會影響性能
1)keepalive_timeout
指定KeepAlive的超時時間(timeout)。指定每一個TCP鏈接最多能夠保持多長時間,服務器將會在這個時間後關閉鏈接。 Nginx的默認值是65秒,有些瀏覽器最多隻保持 60 秒,因此能夠設定爲 60 秒。若將它設置爲0,就禁止了keepalive 鏈接
第二個參數(可選的)指定了在響應頭Keep-Alive:timeout=time中的time值。這個頭可以讓一些瀏覽器主動關閉鏈接,這樣服務器就沒必要去關閉鏈接了。沒有這個參數,Nginx 不會發送 Keep-Alive 響應頭
2)client_header_timeout
客戶端向服務端發送一個完整的 request header 的超時時間。若是客戶端在指定時間內沒有發送一個完整的 request header,Nginx 返回 HTTP 408(Request Timed Out)
3)client_body_timeout
指定客戶端與服務端創建鏈接後發送 request body 的超時時間。若是客戶端在指定時間內沒有發送任何內容,Nginx 返回 HTTP 408(Request Timed Out)
php
1.cat /proc/cpuinfo | grep -c "physical id" #查看cpu核數 2.ps aux | grep nginx #查看nginx主進程中包含幾個子進程 3.vim /usr/local/nginx/conf/nginx.conf worker_processes 2; #修改成核數相同或者2倍 worker_cpu_affinity 01 10; #設置每一個進程由不一樣cpu處理,進程數配2 4 6 8分別爲0001 0010 0100 1000 4.systemctl restart nginx 5.壓力測試,看cpu可否處理這麼多鏈接數
vim /usr/local/nginx/conf/nginx.conf http { ...... gzip on; #取消註釋,開啓gzip壓縮功能 gzip_min_length 1k; #最小壓縮文件大小 gzip_buffers 4 64k; #壓縮緩衝區,大小爲4個64k緩衝區 gzip_http_version 1.1; #壓縮版本(默認1.1,前端若是是squid2.5請使用1.0) gzip_comp_level 6; #壓縮比率 gzip_vary on; #支持前端緩存服務器存儲壓縮頁面 gzip_types text/plain text/javascript application/x-javascript text/css text/xml application/xml application/xml+rss image/jpg image/jpeg image/png image/gif application/x-httpd-php application/javascript application/json; #壓縮類型,表示哪些網頁文檔啓用壓縮功能 ...... }
vim /usr/local/nginx/conf/nginx.conf http { ...... server { ...... location ~* \.(png|gif|swf)$ { valid_referers none blocked *.gxd.com; if ( $invalid_referer ) { rewrite ^/ http://www.gxd.com/error.jpg; } } ...... } }
注:1.~* .(png|gif|swf)$ :這段正則表達式表示匹配不區分大小寫,以.jpg 或.gif 或.swf 結尾的文件
2.valid_referers :設置信任的網站,能夠正常使用圖片
3.none:容許沒有http_refer的請求訪問資源(根據Referer的定義,它的做用是指示一個請求是從哪裏連接過來的,若是直接在瀏覽器的地址欄中輸入一個資源的URL地址,那麼這種請求是不會包含 Referer字段的),如http://www.gxd.com/gxd.jpg 咱們使用 http://www.gxd.com訪問顯示的圖片,能夠理解成 http://www.gxd.com/gxd.jpg 這個請求是從 http://www.gxd.com這個連接過來的
4.blocked:容許不是http://開頭的,不帶協議的請求訪問資源;
5.*.gxd.com:只容許來自指定域名的請求訪問資源,如 http://www.gxd.com
6.if語句:若是連接的來源域名不在valid_referers所列出的列表中,$invalid_referer爲true,則執行後面的操做,即進行重寫或返回 403 頁面
css
echo "192.168.80.11 www.gxd.com" >> /etc/hosts echo "192.168.80.11 www.ggg.com" >> /etc/hosts
1.www.gxd.com
2.www.ggg.com
html