標籤:作業系統 線上播放 下載視頻 大學生創業
生產環境:
作業系統:CentOS 6.8
Web服務軟體:nginx-1.10.1
任務驅動:接到領導指示,要把14G左右大小的大學生創業序列視頻發布到網上。
分析任務:考慮到此視頻容量大,該格式不支援線上播放,又要有利用於學校師生方便擷取視頻資料,同時又要迎接上級檢查。
解決方式:讓師生下載視頻到本地電腦觀看學習。
效果:通過完成實戰任務來消化1個月來學習nginx的知識。
有兩種方案可供選擇:
1. CentOS+Apache: 動態業務,可以選擇Apache,建議選擇nginx。
2. CentOS+nginx:靜態業務,高並發情境,採用Nginx,既有靜態業務又有動業務,也將採用Nginx,此項任務是靜態業務,所以選擇nginx。
操作步驟:
1. 在用戶端先分別壓縮各個視頻,然後通過WinSCP上傳到Linux伺服器。
2. 安裝nginx服務軟體省略。
3. 主要是對nginx的基本安全最佳化,對參數最佳化提升服務效能,限制網站來源IP訪問,錯誤頁面的跳轉,對網站目錄及目錄許可權最佳化,控制並發串連數量,控制用戶端請求的速率。
[[email protected] conf]# ca t nginx.conf
user nginx nginx; #更改預設使用者
worker_processes 2; #因有2個CPU,所以配置2個進程數
worker_rlimit_nofile 65535; #進程最大開啟檔案數,該要放在主標籤段
events {
use epoll; #事件處理模型最佳化
worker_connections 512; #單個客戶進程允許的用戶端串連數,因硬體設定太低,所以設定數字比較小;
}
http {
include mime.types;
default_type application/octet-stream;
charset utf-8; #解決網頁亂碼
server_tokens off; #關閉顯示服務版本資訊
tcp_nodelay on; #提高I/O效能
client_header_timeout 15; #用戶端要求標頭資料的逾時時間
client_body_timeout 15; #用戶端請求主體的逾時時間
send_timeout 25;
client_max_body_size 8m; #上傳檔案大限限制
log_format main ‘$remote_addr - $remote_user [$time_local] "$request" ‘
‘$status $body_bytes_sent "$http_referer" ‘
‘"$http_user_agent" "$http_x_forwarded_for"‘;
#access_log logs/access.log main;
sendfile on; #開啟檔案的高效傳輸模式
tcp_nopush on; #防止網路和磁碟阻塞
keepalive_timeout 60; #設定連線逾時
# include extra/nginx_vhosts.conf;
limit_conn_zone $binary_remote_addr zone=addr:10m;
limit_req_zone $binary_remote_addr zone=one:20m rate=1r/s; #控制用戶端請求的nginx速率
server {
listen 9090; #採用9090連接埠,預設的是80連接埠
server_name 117.40.*.*:9090;
access_log /application/nginx/logs/www.access.log;
error_log /application/nginx/logs/www.error.log;
limit_conn addr 10; #限制單IP的並發串連數為10
limit_req zone=one burst=30; # 30個請求排隊
location / {
root /application/nginx/html/www;
error_page 404 /404.html; #當出現404錯誤時,會跳轉到404.html頁面
error_page 404 http://117.*.*.*; #兩種方式選擇使用其中一種來解決實際問題
autoindex on; #開啟顯示目錄功能
autoindex_exact_size off; #顯示出檔案的大概大小,單位是GB
autoindex_localtime on; #顯示的檔案時間為檔案的伺服器時間
deny 192.168.1.1; #只允許該IP訪問
allow 192.168.1.0/24; #只允許該IP段訪問
allow 192.168.0.0/16; #只允許該IP段訪問
allow 117.40.*.*/24; #只允許該IP段訪問
allow 182.99.242.*; #只允許該IP訪問
deny all; #除了上面允許的,其他的都禁止。
}
}
}
[[email protected] html]# chmod 755 www #目錄許可權,保證不遭受木馬入侵
[[email protected] www]# chmod 644 *.* #檔案許可權
本文出自 “sky9890” 部落格,請務必保留此出處http://sky9896.blog.51cto.com/2330653/1885696
Nginx發布靜態業務