1.yum install nginx(自動解決依賴) 2.源代碼編譯安裝(優秀,自由選擇軟件版本,自定義第三方功能好比開啓https) 3.rpm手動安裝(垃圾)
最好別再root在操做,在opt在執行該條命令 wget http://tengine.taobao.org/download/tengine-2.3.2.tar.gz
ls查看下載後的文件 解壓縮:tar -zxvf tengine-2.3.2.tar.gz 進入解壓縮後的文件:cd tengine(解壓縮後的)
./configure --prefix=/opt/tbnginx/ /opt/tbnginx/ 爲安裝路徑
make命令 生成makefile
make install
進入到 tengine下的sbin目錄 須要把PATH寫入/etc/profile #每次開機都加載 vim /etc/profile 把PATH寫入到環境變量中: PATH="/opt/python367/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/opt/tbnginx/sbin" 手動讀取,讓PATH生效 source /etc/profile
檢查進程:ps aux | grep nginx 檢查端口:netstat -tunlp | grep 80 直接輸入nginx命令,第一次是啓動nginx nginx -s stop #中止 nginx -s reload #平滑重啓,不中止進程,從新讀取配置文件 nginx -t #檢測nginx.conf語法是否正確,更安全 在瀏覽器中輸入IP:端口訪問
[root@bogon tbnginx]# ls conf 存放nginx的配置文件 html 存放nginx靜態文件的 logs nginx的運行日誌,錯誤日誌,訪問日誌 sbin 存放可執行命令
nginx.conf 中定義的server{}虛擬主機關鍵詞定義html
1. [root@bogon tbnginx]# cd tbnginx/ [root@bogon tbnginx]# cd html/ 2. [root@bogon html]# ls 50x.html index.html 執行 Vim index.html #進入該問文件的編輯模式
server{}定義虛擬主機功能python
server { #定義網站的端口 listen 81; #定義網站匹配的域名 server_name localhost; #server_name _; #server_name www.mypython.com; #定義虛擬主機的訪問日誌功能,記錄用戶的ip,以及請求信息,和爬蟲代理後面的真實ip等功能 #access_log logs/host.access.log main; #access_log "pipe:rollback logs/host.access_log interval=1d baknum=7 maxsize=2G" main; # location做用是匹配url,如同 django的 url.py功能同樣 # 最低級匹配,當請求時 192.168.16.85:81/ 就進入以下location location / { #這個root關鍵詞 是定義靜態文件存放目錄的 root /opt/xx.html; #index參數,定義網站首頁文件名的 index index.html index.htm; } # 這個location能夠定義多個,好比 你想讓 192.168.16.85:81/static/js/luffy.js location /static { #給路徑添加別名 alias /opt/crm/static/;}
一臺服務器,基於域名的不一樣,訪問不一樣的網站資料
也就是準備2個server{}的定義linux
本地的hosts文件
C:\Windows\System32\drivers\etc\hostsnginx
server { #定義網站的端口 listen 80; #定義網站匹配的域名 server_name www.pian.com; #server_name _; #server_name www.mypython.com; #定義虛擬主機的訪問日誌功能,記錄用戶的ip,以及請求信息,和爬蟲代理後面的真實ip等功能 #access_log logs/host.access.log main; #access_log "pipe:rollback logs/host.access_log interval=1d baknum=7 maxsize=2G" main; # location做用是匹配url,如同 django的 url.py功能同樣 # 最低級匹配,當請求時 192.168.16.85:81/ 就進入以下location location / { #這個root關鍵詞 是定義靜態文件存放目錄的 root /opt/pian; #index參數,定義網站首頁文件名的 index index.html index.htm; } #當你的請求時 www.pian.com/static/55kai.jpg location /static { #給路徑添加別名 alias /opt/crm/static/; #http://www.pian.com/static/360wallpaper.jpg } }
server { listen 80; server_name www.xxlol.com; location / { root /opt/xxlol; index index.html; } }
打開nginx.conf,打開配置便可 訪問日誌功能 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; access_log "pipe:rollback logs/access_log interval=1d baknum=7 maxsize=2G" main; 進入到cd tbnginx/logs 實時監測 :tail -f access.log 當再次訪問的時候logs就會多一條 記錄
location / { #這個root關鍵詞 是定義靜態文件存放目錄的 root /opt/pian; #index參數,定義網站首頁文件名的 index index.html index.htm; } error_page 404 /404.html; 對/404.html進行編輯或添加新的內容 keepalive_timeout : 60
須要準備3臺機器 1是客戶端,發請求的 2是代理服務器,須要安裝nginx,實現代理轉發功能 3是資源服務器,提供數據的 正確的操做應該是 準備一個windows機器,兩個linux機器(一個是安裝nginx用做代理,一個啓動django提供數據) 我考慮到你們機器不行 解決辦法 在一臺linux上,啓動一個nginx,第一個server{}虛擬主機標籤,做用是反向代理 第二個server{}虛擬主機標籤,模擬是另外一臺linux,提供數據的 瀏覽器 -> nginx -> django 瀏覽器 <- nginx <- django
server { listen 80; server_name _; location / { #反向代理的參數 proxy_pass http://127.0.0.1:81; } error_page 404 /404.html; }
環境準備 準備四臺機器 第一臺是window,用於瀏覽器法請求 第二臺個是nginx,安裝nginx,進行請求分發,負載均衡 第三臺,講道理,應該運行django 第四臺,同樣的,也是運行django代碼 在一個linux機器上,安裝一個nginx軟件,經過多個server{}模擬多臺機器的工做
#經過upstream關鍵詞,定義服務器地址池 upstream server { server 127.0.0.1:81; server 127.0.0.1:82; server 127.0.0.1:83; } #定義第一個虛擬主機 server{} ,功能是 進行反向代理,負載均衡 server { listen 80; server_name _; location / { proxy_pass http://myserver; } } #第二個server,模擬第一臺django server { listen 81; server_name _; location / { root /opt/django1; index index.html; } } #定義第三個server,模擬第二臺django server { listen 82; server_name _; location / { root /opt/django2; index index.html; } } #定義第四個server,模擬第三臺django,講道理,這三臺django應該提供同樣的數據 server { listen 83; server_name _; location / { root /opt/django3; index index.html; } }
1.輪訓機制 ,每一個機器,解析一次 2.權重機制 ,哪臺機器的權重高,請求優先發給誰,有權重比例設置 upstream myserver { server 127.0.0.1:81 weight=1; # weight權重 安比例分配 #server 127.0.0.1:82 weight=3; server 127.0.0.1:83 weight=4; } 3.ip_hash ,真對用戶的ip地址獲得哈希值,永久發給一臺機器 ,ip哈希方式,不得和權重一塊兒用 #經過upstream關鍵詞,定義服務器地址池 upstream myserver { server 127.0.0.1:81 ; #server 127.0.0.1:82 ; server 127.0.0.1:83 ; ip_hash; } 4.url_hash ,不用