107 nginx安裝 使用 部署web站點 nginx虛擬主機

主要內容: https://www.cnblogs.com/pyyu/p/9468680.html?tdsourcetag=s_pcqq_aiomsghtml

web服務器和web框架的關係:python

  a : web服務器(nginx): 接收http請求(例如www.pythonav.cn/xiaocang.jpg)並返回數據linux

  b : web框架(django, flask): 開發web應用程序nginx

2 nignx定義web

  a : nginx是一個開源的,支持高性能,高併發的www服務和代理服務軟件。它是一個俄羅斯人lgor sysoev開發的,做者將源代碼開源出來供全球使用。sql

  b : nginx比它大哥apache性能改進許多,nginx佔用的系統資源更少,支持更高的併發鏈接,有更高的訪問效率。apache

  c : nginx不可是一個優秀的web服務軟件,還能夠做爲反向代理,負載均衡,以及緩存服務使用。django

  常見的服務器:  IIS、Nginx 和 Apache, IIS(Internet Information Services,互聯網信息服務)是 Windows 系統中默認的 Web 服務程序.flask

  Tengine是由淘寶網發起的Web服務器項目。它在Nginx的基礎上,針對大訪問量網站的需求,添加了不少高級功能和特性。Tengine的性能和穩定性已經在大型的網站如淘寶網,天貓商城等獲得了很好的檢驗。它的最終目標是打造一個高效、穩定、安全、易用的Web平臺。windows

3 nignx的安裝

  1.解決依賴關係
    yum install gcc patch libffi-devel python-devel zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel openssl openssl-devel -y
  2.下載源碼包
    wget -c https://nginx.org/download/nginx-1.12.0.tar.gz
  3.解壓縮源碼包
    tar -zxvf nginx-1.12.0
  4.在當前路徑下經過configure這個腳本文件執行,釋放makefile,而後指定安裝nginx的路徑,以及開啓模塊功能ssl與狀態模塊功能
    ./configure --prefix=/opt/nginx1-12/ --with-http_ssl_module --with-http_stub_status_module
  5.編譯且編譯安裝
    make && make install
  6.在/opt/nginx1-12/ 安裝好nginx的目錄,找到一個sbin的文件夾,找到nginx的啓動命令,而後啓動nginx服務

    ./sbin/nginx #直接啓動nginx
    ./sbin/nginx -s stop
    ./sbin/nginx -s reload #平滑重啓(修改了nginx配置文件,不重啓服務就加載配置且生效)
    ../sbin/nginx -t 檢測nginx.conf 配置文件的語法正確性

  7 .檢查端口,進程,: ps - ef | grep 'nginx'   netstat - tunlp | 80而後經過瀏覽器訪問nginx頁面,linux

ip:端口號

  8 nignx的主配置文件, 在nginx.conf修改

4部署一個web站點:  nginx默認站點是在nginx目錄下的html文件中, 這裏從nginx.conf中查到.

 location /{
            root   html;  #這裏是默認的站點html文件夾,也就是 /opt/nginx1-12/html/文件夾下的內容
            index  index.html index.htm; #站點首頁文件名是index.html
        }

  若是想要部署網站業務數據, 只需把開發好的程序放在html目錄下便可

  只需經過域名就能夠訪問.

5 nignx的目錄結構:

  a : conf 存放nginx全部配置文件的目錄, 主要是nginx.conf

  b : html存放nginx默認站點的目錄: 如index.html. error.html

  c : logs存放nignx默認日誌的目錄, 如access.log, error.log

  d : sbin 存放nignx主命令的目錄, sbin/nignx

6 nignx的主配置文件的解析: 詳情見老師博客

7 虛擬主機

  a : 定義虛擬主機的概念就是在web服務裏的一個獨立的網站站點, 這個站點對應獨立的域名(ip), 具備獨立的程序和資源目錄, 能夠獨立的對外提供服務.

  b : 這個獨立的站點是在nignx.conf的配置文件中設置, 使用server{}代碼塊標籤來表示一個虛擬主機

  c : nignx支持多個server{}標籤, 即支持多個虛擬主機站點

  d :虛擬主機的類型: 基於域名的虛擬主機, 經過不一樣的域名區分不一樣的虛擬主機,是企業應用最廣的虛擬主機

            基於端口的虛擬主機, 經過不一樣的端口區分不一樣的虛擬主機, 通常用做企業內部網站,不對外直接提供服務的後臺,例如www.pythonav.cn:9000.

8nginx狀態信息配

  1) 監測nignx是否安裝了status模塊: /opt/nginx/sbin/nginx -V

  2) 啓動status狀態功能, 修改配置文件: 

#在訪問ip/status的時候,進入狀態功能        
location /status {
        #開啓nginx狀態功能
             stub_status on;
}          

  3) 平滑重啓nignx:  ./sbin/nignx -s reload

  4) 訪問status頁面: http://www.myhanjutv.com/status

  5) status頁面解析的解釋:   

 

9 多虛擬主機的配置:

  1 修改nignx底下的配置文件:

server {
			listen       80;
			server_name  www.s14huoying.com;
			location / {
				#指明網頁根目錄在/opt/html/文件夾下
				root   /data/huoying;
				index  index.html index.htm;
			}
			}
		server {
			listen       80;
			server_name  www.s14hanju.com;
			location / {
				#指明網頁根目錄在/opt/html/文件夾下
				root   /data/hanju;
				index  index.html index.htm;
			}
			}

  2 從新加載nignx配置文件:  ../sbin/nignx   -t                  檢查語法是否正確

              ../sbin/nignx   -s   reload    平滑重啓

  3 準備不一樣虛擬主機的站點資料:  mkdir  -p  /data/{hanju,huoying}

  4 寫入到本地dns解析文件, 因爲我在windows中經過瀏覽器訪問, 應該在windows的host文件中添加記錄

    hosts文件就是一個本地dns(就是將域名轉化成ip地址)強制解析的文件

    在C:\Windows\System32\drivers\etc\hosts ,寫入以下信息192.168.12.96   www.s14huoying.com

  5  在wiindows中,測試訪問多域名 配置.

10 nignx訪問日誌功能

  1 在配置文件中, 打開註釋

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;
	

  2 參數詳解:

$remote_addr    記錄客戶端ip
$remote_user    遠程用戶,沒有就是 「-」
$time_local    對應[14/Aug/2018:18:46:52 +0800]
$request     對應請求信息"GET /favicon.ico HTTP/1.1"
$status      狀態碼
$body_bytes_sent  571字節 請求體的大小
$http_referer  對應「-」  因爲是直接輸入瀏覽器就是 -
$http_user_agent  客戶端身份信息
$http_x_forwarded_for  記錄客戶端的來源真實ip 97.64.34.118

  3打開該功能後, 可經過tail -f  access_log 來查看用戶的身份信息.

10 錯誤頁面的展

  1 在配置文件中添加  nignx.conf

server {
			listen       80;
			server_name  www.s14huoying.com;
			location / {
				#指明網頁根目錄在/opt/html/文件夾下
				root   /data/huoying;
				index  index.html index.htm;
				deny 192.168.12.120;
			}
			error_page  400 401 402 404   /40x.html;
			#當請求來自於wwww.s14huoying.com/status/
	}
相關文章
相關標籤/搜索