Linux下Nginx使用


1. 安裝

CentOS 7上Nginx的安裝和啟動方法如下

# yum install nginx

# firewall-cmd --permanent --zone=public --add-service=http
# firewall-cmd --permanent --zone=public --add-service=https
# firewall-cmd --reload

# systemctl start nginx
# systemctl enable nginx

安裝完成后在瀏覽器中打開服務器對應的IP地址即可測試是否安裝成功

2. 配置

Nginx的主配置文件是/etc/nginx/nginx.conf, 更詳細的介紹參考文末

3. 轉發

轉發也叫正向代理, 以下的配置將所有http請求轉發至www.example.com

server {
        listen       80 default_server;
        listen       [::]:80 default_server;
        server_name  _;
        root         /usr/share/nginx/html;

        # Load configuration files for the default server block.
        include /etc/nginx/default.d/*.conf;

        location / {
 resolver 114.114.114.114; proxy_pass http://www.example.com:80;
        }

        error_page 404 /404.html;
            location = /40x.html {
        }

        error_page 500 502 503 504 /50x.html;
            location = /50x.html {
        }
    }

注意: Nginx不支持https正向代理.

3. 路由

章節二中把所有請求全部轉發至另一個地址, 現在假如我們的服務器除了轉發之外還要能夠自行處理部分請求

為了進行方便區分, 我們需要進行如下路由:  除了/forward/...進行轉發外, 其他請求自己處理
http://IP-A/forward/a/b/c  --->  http://IP-B/a/b/c

配置如下

         location / {
        }

        location 
^~ /forward/
 {
            resolver   114.114.114.114;
            proxy_pass http://www.example.com:80/;
        }

4. SSL配置

假定域名已經申請到SSL證書, 下面的配置開啟SSL支持

server {
        listen       443 ssl http2 default_server;
        listen       [::]:443 ssl http2 default_server;
        server_name  www.example.com;
        root         /var/www

        ssl_certificate "/opt/certs/www.example.com_bundle.crt";
        ssl_certificate_key "/opt/certs/www.example.com.key";
        ssl_session_cache shared:SSL:1m;
        ssl_session_timeout  10m;
        ssl_ciphers HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers on;

        # Load configuration files for the default server block.
        include /etc/nginx/default.d/*.conf;

        location / {
        }

        error_page 404 /404.html;
            location = /40x.html {
        }

        error_page 500 502 503 504 /50x.html;
            location = /50x.html {
        }
    }

參考:
<Nginx路由>
<Nginx配置入門>
<Nginx簡介及配置文件詳解>
<Centos下Nginx安裝與配置>
<Nginx使用ssl模塊配置HTTPS支持>
<Nginx proxy pass路由轉發簡單用法>


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM