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路由轉發簡單用法>