亚欧色一区w666天堂,色情一区二区三区免费看,少妇特黄A片一区二区三区,亚洲人成网站999久久久综合,国产av熟女一区二区三区

  • 發布文章
  • 消息中心
點贊
收藏
評論
分享
原創

天翼云開源鏡像站--nginx部署與控制

2024-11-08 09:21:31
121
0

一、Nginx 的概念

        Nginx 是一個高性能的 HTTP 和反向代理服務器,也是一個 IMAP/POP3/SMTP 代理服務器。它以其高并發處理能力、低資源消耗和穩定性而聞名。Nginx 由 Igor Sysoev 開發,首次公開發布于 2004 年。Nginx 可以作為網頁服務器、反向代理服務器、電子郵件代理服務器以及 TCP/UDP 負載均衡器。

  • Web 服務器:Nginx 可以直接提供靜態內容(如 HTML、CSS、圖片等)給客戶端瀏覽器。
  • 反向代理服務器:Nginx 可以接收客戶端請求,然后將請求轉發到后端服務器,并將后端服務器的響應返回給客戶端。這種方式可以隱藏真實的后端服務器,提高安全性,并實現負載均衡。其配置示例如下:

     

     

    http {
        upstream backend {
            server backend1.example.com;
            server backend2.example.com;
        }
    
        server {
            listen 80;
            server_name example.com;
    
            location / {
                proxy_pass //backend;
                proxy_set_header Host $host;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header X-Forwarded-Proto $scheme;
            }
        }
    }
  • 負載均衡:Nginx 可以將請求分發到多臺后端服務器上,以平衡負載,提高系統可用性和響應速度。可通過在配置中的upstream backend代碼段內添加weight=x實現。
  • 動靜分離:nginx能將動態內容(如 PHP、Java 等生成的內容)和靜態內容(如 HTML、CSS、JavaScript、圖片等)分開處理。靜態內容可以直接由 Nginx 提供服務,而動態內容則通過反向代理傳遞給后端應用服務器處理。這樣可以減輕后端服務器的壓力,提高響應速度。其配置示例如下:
    http {
        upstream backend {
            server backend1.example.com;
        }
    
        server {
            listen 80;
            server_name example.com;
    
            # 靜態內容配置
            location /static/ {
                alias /path/to/static/files/;
                expires 30d;
            }
    
            # 動態內容配置
            location / {
                proxy_pass //backend;
                proxy_set_header Host $host;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header X-Forwarded-Proto $scheme;
            }
        }
    }

二、Nginx 常見字段含義

        在 Nginx 配置文件中,常用的字段包括:

  • server:定義虛擬主機。
  • location:匹配特定的 URL 路徑,并對其應用特定的配置。
  • listen:指定 Nginx 監聽的 IP 地址和端口。
  • root:指定網站根目錄。
  • index:指定默認的索引文件。
  • proxy_pass:指定反向代理的目標地址。
  • upstream:定義一組后端服務器,用于負載均衡。

三、天翼云開源鏡像站Nginx部署涉及步驟

部署 Nginx 通常涉及以下幾個步驟:準備環境、安裝 Nginx、配置 Nginx、啟動和管理 Nginx 服務。下面是詳細的部署過程:

①準備環境(CtyunOS/CentOS/RHEL)

sudo yum groupinstall "Development Tools"

sudo yum install pcre pcre-devel zlib zlib-devel openssl openssl-devel

②通過包管理器安裝nginx

sudo yum install epel-release

sudo yum install nginx

③配置nginx

Nginx 的主配置文件通常位于 /etc/nginx/nginx.conf (示例)或 /usr/local/nginx/conf/nginx.conf(示例),示例配置如下:

user  nginx;
worker_processes  auto;

error_log  /var/log/nginx/error.log warn;
pid        /var/run/nginx.pid;

events {
    worker_connections  ½048;
}

http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;

    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  /var/log/nginx/access.log  main;

    sendfile        on;
    tcp_nopush     on;
    tcp_nodelay    on;
    keepalive_timeout  65;
    types_hash_max_size 2048;

    include /etc/nginx/conf.d/*.conf;
}

在 /etc/nginx/conf.d/ 目錄下創建一個新的配置文件,例如 example.com.conf,并進行虛擬主機配置:

server {
    listen 80;
    server_name example.com;

    root /var/www/example.com;
    index index.html index.htm;

    location / {
        try_files $uri $uri/ =404;
    }

    location /api/ {
        proxy_pass //localhost:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

④啟動和管理nginx服務

檢查語法:sudo nginx -t

重新加載配置:sudo systemctl reload nginx 或者 sudo /usr/local/nginx/sbin/nginx -s reload

啟動和停止服務:sudo systemctl start nginx/sudo systemctl stop nginx 或者 sudo /usr/local/nginx/sbin/nginx -s stop

⑤防火墻配置

sudo firewall-cmd --permanent --zone=public --add-service=http

sudo firewall-cmd --permanent --zone=public --add-service=https

sudo firewall-cmd --reload

⑥監控和日志

tail -f /var/log/nginx/access.log

tail -f /var/log/nginx/error.log

總結

  • 反向代理:Nginx 作為中間層,將客戶端請求轉發到后端服務器,并將響應返回給客戶端。
  • 負載均衡:Nginx 將請求均勻分配到多個后端服務器,以提高系統性能和可用性。
  • 動靜分離:Nginx 直接提供靜態內容,將動態內容轉發到后端應用服務器,從而優化性能。

通過以上配置,Nginx 可以有效地管理和優化 Web 應用程序的流量,并與CDN加速策略結合,使用CDN的標準能力分區域回源,使用SNAT限制訪問,建設ovs內網通道,使用雙活方案等,確保系統的安全性、穩定性和高性能。

0條評論
0 / 1000
達達達
9文章數
0粉絲數
達達達
9 文章 | 0 粉絲
原創

天翼云開源鏡像站--nginx部署與控制

2024-11-08 09:21:31
121
0

一、Nginx 的概念

        Nginx 是一個高性能的 HTTP 和反向代理服務器,也是一個 IMAP/POP3/SMTP 代理服務器。它以其高并發處理能力、低資源消耗和穩定性而聞名。Nginx 由 Igor Sysoev 開發,首次公開發布于 2004 年。Nginx 可以作為網頁服務器、反向代理服務器、電子郵件代理服務器以及 TCP/UDP 負載均衡器。

  • Web 服務器:Nginx 可以直接提供靜態內容(如 HTML、CSS、圖片等)給客戶端瀏覽器。
  • 反向代理服務器:Nginx 可以接收客戶端請求,然后將請求轉發到后端服務器,并將后端服務器的響應返回給客戶端。這種方式可以隱藏真實的后端服務器,提高安全性,并實現負載均衡。其配置示例如下:

     

     

    http {
        upstream backend {
            server backend1.example.com;
            server backend2.example.com;
        }
    
        server {
            listen 80;
            server_name example.com;
    
            location / {
                proxy_pass //backend;
                proxy_set_header Host $host;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header X-Forwarded-Proto $scheme;
            }
        }
    }
  • 負載均衡:Nginx 可以將請求分發到多臺后端服務器上,以平衡負載,提高系統可用性和響應速度。可通過在配置中的upstream backend代碼段內添加weight=x實現。
  • 動靜分離:nginx能將動態內容(如 PHP、Java 等生成的內容)和靜態內容(如 HTML、CSS、JavaScript、圖片等)分開處理。靜態內容可以直接由 Nginx 提供服務,而動態內容則通過反向代理傳遞給后端應用服務器處理。這樣可以減輕后端服務器的壓力,提高響應速度。其配置示例如下:
    http {
        upstream backend {
            server backend1.example.com;
        }
    
        server {
            listen 80;
            server_name example.com;
    
            # 靜態內容配置
            location /static/ {
                alias /path/to/static/files/;
                expires 30d;
            }
    
            # 動態內容配置
            location / {
                proxy_pass //backend;
                proxy_set_header Host $host;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header X-Forwarded-Proto $scheme;
            }
        }
    }

二、Nginx 常見字段含義

        在 Nginx 配置文件中,常用的字段包括:

  • server:定義虛擬主機。
  • location:匹配特定的 URL 路徑,并對其應用特定的配置。
  • listen:指定 Nginx 監聽的 IP 地址和端口。
  • root:指定網站根目錄。
  • index:指定默認的索引文件。
  • proxy_pass:指定反向代理的目標地址。
  • upstream:定義一組后端服務器,用于負載均衡。

三、天翼云開源鏡像站Nginx部署涉及步驟

部署 Nginx 通常涉及以下幾個步驟:準備環境、安裝 Nginx、配置 Nginx、啟動和管理 Nginx 服務。下面是詳細的部署過程:

①準備環境(CtyunOS/CentOS/RHEL)

sudo yum groupinstall "Development Tools"

sudo yum install pcre pcre-devel zlib zlib-devel openssl openssl-devel

②通過包管理器安裝nginx

sudo yum install epel-release

sudo yum install nginx

③配置nginx

Nginx 的主配置文件通常位于 /etc/nginx/nginx.conf (示例)或 /usr/local/nginx/conf/nginx.conf(示例),示例配置如下:

user  nginx;
worker_processes  auto;

error_log  /var/log/nginx/error.log warn;
pid        /var/run/nginx.pid;

events {
    worker_connections  ½048;
}

http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;

    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  /var/log/nginx/access.log  main;

    sendfile        on;
    tcp_nopush     on;
    tcp_nodelay    on;
    keepalive_timeout  65;
    types_hash_max_size 2048;

    include /etc/nginx/conf.d/*.conf;
}

在 /etc/nginx/conf.d/ 目錄下創建一個新的配置文件,例如 example.com.conf,并進行虛擬主機配置:

server {
    listen 80;
    server_name example.com;

    root /var/www/example.com;
    index index.html index.htm;

    location / {
        try_files $uri $uri/ =404;
    }

    location /api/ {
        proxy_pass //localhost:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

④啟動和管理nginx服務

檢查語法:sudo nginx -t

重新加載配置:sudo systemctl reload nginx 或者 sudo /usr/local/nginx/sbin/nginx -s reload

啟動和停止服務:sudo systemctl start nginx/sudo systemctl stop nginx 或者 sudo /usr/local/nginx/sbin/nginx -s stop

⑤防火墻配置

sudo firewall-cmd --permanent --zone=public --add-service=http

sudo firewall-cmd --permanent --zone=public --add-service=https

sudo firewall-cmd --reload

⑥監控和日志

tail -f /var/log/nginx/access.log

tail -f /var/log/nginx/error.log

總結

  • 反向代理:Nginx 作為中間層,將客戶端請求轉發到后端服務器,并將響應返回給客戶端。
  • 負載均衡:Nginx 將請求均勻分配到多個后端服務器,以提高系統性能和可用性。
  • 動靜分離:Nginx 直接提供靜態內容,將動態內容轉發到后端應用服務器,從而優化性能。

通過以上配置,Nginx 可以有效地管理和優化 Web 應用程序的流量,并與CDN加速策略結合,使用CDN的標準能力分區域回源,使用SNAT限制訪問,建設ovs內網通道,使用雙活方案等,確保系統的安全性、穩定性和高性能。

文章來自個人專欄
文章 | 訂閱
0條評論
0 / 1000
請輸入你的評論
1
1