nginx 入門、安裝與簡單使用

本文內容:
1. nginx 簡介
2. nginx 安裝
3. nginx 簡單使用html

1、Nginx 的三大功能

1.HTTP服務器

Nginx是一個HTTP服務器,能夠將服務器上的靜態文件(如HTML、圖片)經過HTTP協議展示給客戶端。nginx

2.反向代理服務器

Nginx也是反向代理服務器。docker

說反向代理以前先說一下正向代理,正向代理相信不少大陸同胞都在這片神奇的土地上用過了。就是訪問國外網被牆了,而後找個代理服務,經過該服務器訪問國外網站,這個是正向代理。centos

反向代理是 客戶端訪問代理服務器,可是代理服務器沒有用戶須要的資源,而後代理服務器偷偷訪問應用服務器,獲取資源返回給用戶,用戶不知道代理服務器是訪問了應用服務器,代理服務器也隱藏了應用服務器的url。(反向代理的典型用途是將 防火牆後面的服務器提供給Internet用戶訪問)瀏覽器

這裏寫圖片描述

3.負載均衡

Nginx能夠經過反向代理來實現負載均衡。服務器

這裏寫圖片描述

2、Nginx 安裝

2.1 CentOS 7 安裝 Nginx

2.1.1.添加Nginx到YUM源負載均衡

添加CentOS 7 Nginx yum資源庫,打開終端,使用如下命令:網站

sudo rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm

2.2.2.安裝Nginxurl

在你的CentOS 7 服務器中使用yum命令從Nginx源服務器中獲取來安裝Nginx:spa

sudo yum install -y nginx
  • Nginx將完成安裝在你的CentOS 7 服務器中。

2.2.3. Nginx啓動

nginx -c nginx.conf

啓動後就能夠訪問 域名或者本機IP 若是出現下圖,說明啓動成功。

這裏寫圖片描述

2.2.4. Nginx 中止

//查詢出nginx的pid 
ps -ef|grep nginx
//經過kill 命令殺死 nginx 
kill pid
注意圖中nginx的 pid 爲 10497
  • 這裏寫圖片描述

2.2.5. Nginx配置信息

網站文件存放默認目錄

/usr/share/nginx/html
  • 網站默認站點配置
/etc/nginx/conf.d/default.conf

自定義Nginx站點配置文件存放目錄

/etc/nginx/conf.d/

Nginx全局配置

/etc/nginx/nginx.conf

2.2 docker 安裝 Nginx

2.2.1下載鏡像,

docker pull nginx:1.9

2.2.2 啓動容器,

docker run -d -p 8080:80 nginx:1.9

把容器內的nginx的80端口,映射到當前服務器的8080端口,假設當前服務器的ip是192.168.0.100,瀏覽器輸入http://192.168.0.100:8080/,就能夠看到nginx已啓動,

3、Nginx 的簡單實用

關於靜態資源服務器的使用這裏就不作說明了。

3.1 反向代理

小例子:實現訪問本機 ip 而後代理 個人博地址 ,也就是在瀏覽器輸入本機地址,而後跳轉到個人博客。

3.1.1 本地安裝nginx

若是是本地安裝的nginx 的話須要修改 /etc/nginx/conf.d/default.conf 配置文件

註釋原有的 location 而後替換爲新的location

//註釋原有的
#    location / {
 #       root   /usr/share/nginx/html;
  #      index  index.html index.htm;
   # }

//新添加的
location / {
    proxy_pass http://blog.csdn.net/u012373815?viewmode=list;
}

而後重啓nginx ,訪問本機ip 就會代理到「http://blog.csdn.net/u012373815?viewmode=list「 個人博客地址。

3.1.2 Docker 安裝

若是是docker 安裝的話,須要本地隨意目錄下新建default.conf 文件,內容以下:

server {
    listen       80;
    server_name  localhost;

    #charset koi8-r;
    #access_log  /var/log/nginx/log/host.access.log  main;

    location / {
    proxy_pass http://blog.csdn.net/u012373815?viewmode=list;
}


    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
}

而後從新啓動容器,將default.conf 文件映射到docker容器內。
啓動命令以下:

docker run -p 8080:80 --name myNginx -v /本地路徑/default.conf:/etc/nginx/conf.d/default.conf -d nginx:1.9

容器啓動後 ,訪問本機ip 就會代理到「http://blog.csdn.net/u012373815?viewmode=list「 個人博客地址。

3.2 負載均衡

上面的配置只實現了反向代理沒有實現傳說中的負載均衡。全部的請求就都被反向代理到 個人博客地址去了。這樣咱們反向代理的功能是實現了,但是就能代理到一臺服務器上哪有什麼負載均衡呀?這就要用到 nginx 的 upstream 模塊了。

upstream backend {
    ip_hash;    
    server backend1.example.com;
    server backend2.example.com;
    server backend3.example.com;
    server backend4.example.com;
}
location / {
    proxy_pass http://backend;
}

咱們在 upstream 中指定了一組機器,並將這個組命名爲 backend,這樣在 proxypass 中只要將請求轉移到 backend 這個 upstream 中咱們就實現了在四臺機器的反向代理加負載均衡。其中的 iphash指明瞭咱們均衡的方式是按照用戶的 ip 地址進行分配。
要讓配置生效,咱們沒必要重啓 nginx 只須要 reload 配置便可。

參考資料:
http://blog.csdn.net/u012486840/article/details/52610320
http://www.jb51.net/article/61137.htm

相關文章
相關標籤/搜索