ubuntu 16.04 Nginx原始碼部署安裝
nginx安裝
1、安裝zlib依賴庫:sudo apt-get install zlib1g-dev
2、進入解壓相關檔案:
tar –xzvf openssl-1.0.1.tar.gz
tar –xzvf nginx-1.11.3.tar.gz
tar –xzvf pcre-8.41. tar.gz,
- 進入Nginx解壓目錄:cd /home/jinxp/ nginx-1.11.3/
- 配置環境:
./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-http_flv_module --with-http_stub_status_module --with-http_gzip_static_module --with-pcre=../pcre-8.41 --with-openssl=../openssl-1.0.1
- 編譯:make(如果出現”pcre.h No such file or directory”,安裝”sudo apt-get install libpcre3-dev”)
- 安裝sudo make install
- 說明:nginx會被安裝在/usr/local/nginx目錄下
conf:存放配置檔案 html:靜態網頁
logs:存放日誌檔案 sbin:存放可執行檔案
- 相關命令
啟動Nginx服務: sudo /usr/local/nginx/sbin/nginx
關閉Nginx服務: sudo /urs/local/nginx/sbin/nginx –s stop
重新載入配置:sudo /usr/local/nginx/sbin/nginx –s reload
指定配置檔案:sudo /usr/local/nginx/sbin/nginx –c /usr/local/nginx/conf/nginx.conf
檢視版本資訊:
sudo /usr/local/nginx/sbin/nginx –v
sudo /usr/local/nginx/sbin/nginx –V
檢視80埠的程式:nesta –ano | grep 80
關閉佔用80埠的程式:sudo fuser –k 80/tcp
- 啟動服務:sudo /usr/local/nginx/sbin/nginx 或cd切換到sbin目錄下執行./nginx
10、開啟瀏覽器,輸入Nginx伺服器IP地址
11、配置
(1)、/usr/local/nginx/conf/nginx.conf
(2)全域性設定:
定義全域性錯誤日誌檔案,需要什麼等級可以設定開啟
error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
worker_rlimit_nofile:指定一個nginx可以開啟的最多檔案描述符,可以使用“ulimit –n 65535”進行設定(虛擬機器預設設定1024),阿里雲伺服器預設就是65535
(3)events(nginx工作模式)
events {
use epoll; linux標準的工作模式,nginx高效的基石
worker_connections 1024; 定義nginx每個程序的最大連線數
}
(4)http(http設定)
sendfile on; 開啟高效檔案傳輸模式
tcp_nopush on; 防止網路阻塞
tcp_nodelay on;
keepalive_timeout 65; 設定客戶端連線活動的超時時間
gzip on; 使用壓縮模組
(5)server(主機設定)
server{
listen 80;
server_name localhsot www.lajos.top 39.105.61.52;
charser utf-8;
# 負載均衡模組,upstream是負載均衡器
upstream lajos {
server 39.105.61.52:8000 weight=1 max_fails=1 fail_timeout=300s;
server 39.105.61.53:8000 weight=1 max_fails=1 fail_timeout=300s;
}
# 負載均衡採用輪循方式
server server 39.105.61.52:8000 weight=1 max_fails=1 fail_timeout=300s;
}
# 反向代理配置,
location / {
#適用於django自帶的runserver方式啟動
#proxy_set_header Host $http_host;
# 設定uwsgi啟動
include uwsgi_params;
uwsgi_pass lajos;
}
}
12、重啟nginx服務:sudo /usr/local/nginx/sbin/nginx