Linux系統安裝nginx并配置反向代理
?
安裝nginx
1、安裝依賴
yum install -y gcc pcre-devel zlib-devel openssl openssl-devel
2、下載nginx
mkdir -p /www/nginx
cd /www/nginx
wget http://nginx.org/download/nginx-1.21.0.tar.gz
tar -xvf nginx-1.21.0.tar.gz
3、安裝nginx
cd nginx-1.21.0
# 先看 /usr/local/nginx 目錄是否存在,不存在就創建:
mkdir -p /usr/local/nginx
# 指定安裝路徑:
./configure --prefix=/usr/local/nginx
make && make install
我這里使用的是docker啟動的服務,以filebrowser Web文件管理器為例,我使用docker啟動后訪問端口為8989
4、修改配置文件
打開配置文件
vi /usr/local/nginx/conf/nginx.conf
# For more information on configuration, see:
# * Official English Documentation: http://nginx.org/en/docs/
# * Official Russian Documentation: http://nginx.org/ru/docs/
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;
# Load dynamic modules. See /usr/share/doc/nginx/README.dynamic.
include /usr/share/nginx/modules/*.conf;
events {
worker_connections 1024;
}
http {
proxy_headers_hash_max_size 512;
proxy_headers_hash_bucket_size 64;
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 4096;
include /etc/nginx/mime.types;
default_type application/octet-stream;
include /etc/nginx/conf.d/*.conf;
# -------- wenjian.bykhxp.cn --------
server {
listen 80; #指定 Nginx 監聽 80 端口。
listen [::]:80;
server_name wenjian.bykhxp.cn; #使用自己解析的域名,沒有域名的可以不填。
root /usr/share/nginx/html;
location / {
proxy_pass http://127.0.0.1:8989; #將所有請求反向代理到http://127.0.0.1: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;
}
include /etc/nginx/default.d/*.conf;
error_page 404 /404.html;
location = /404.html { }
error_page 500 502 503 504 /50x.html;
location = /50x.html { }
}
# 配置證書后使用https訪問
server {
listen 443 ssl http2; #指定 Nginx 監聽 443 端口
listen [::]:443 ssl http2;
server_name wenjian.bykhxp.cn; #使用自己解析的域名。
root html;
index index.html index.htm;
ssl_certificate /etc/nginx/cert/cert.pem;
ssl_certificate_key /etc/nginx/cert/cert.key;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
location / {
proxy_pass http://127.0.0.1:8989;
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_ssl_verify off;
}
include /etc/nginx/default.d/*.conf;
error_page 404 /404.html;
location = /404.html { }
error_page 500 502 503 504 /50x.html;
location = /50x.html { }
}
}
5、重啟nginx
cd /usr/local/nginx/sbin/
./nginx -s reload
在瀏覽器訪問https://localhost_ip:8989,輸入用戶名及密碼登錄即可
注意
如果是云服務器無法訪問的情況需要在安全組配置端口開放

浙公網安備 33010602011771號