常用命令
nginx -v
start nginx
nginx -s stop
nginx -s quit
nginx -s reload
nginx -s reopen
nginx -c filename
nginx -t
CentOS7下安装Nginx
1. 安装所需环境
yum install gcc-c++
yum install -y pcre pcre-devel
yum install -y zlib zlib-devel
yum install -y openssl openssl-devel
2. 下载
wget -c https://nginx.org/download/nginx-1.26.2.tar.gz
3. 安装
sudo apt-get install gcc
sudo apt-get install libpcre3 libpcre3-dev
sudo apt-get install zlib1g zlib1g-dev
sudo apt-get install openssl
sudo apt-get install libssl-dev
tar -zxvf nginx-1.26.2.tar.gz
cd nginx-1.26.2
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
make && make install
whereis nginx
4. 启动
cd /usr/local/nginx/sbin/
./nginx
./nginx -s stop
./nginx -s quit
./nginx -s reload
Nginx升级websocket
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
# 开启nginx压缩
gzip on;
gzip_min_length 1k;
gzip_comp_level 9;
gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;
gzip_vary on;
gzip_disable "MSIE [1-6]\.";
server {
listen 9096;
server_name localhost;
# 请求头参数允许下划线
underscores_in_headers on;
proxy_pass_request_headers on;
location /dev-api/ {
# 请求服务器升级协议为 WebSocket
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
# proxy_set_header Upgrade $http_upgrade;
# proxy_set_header Connection "upgrade";
# proxy_http_version 1.1;
# 设置读写超时时间,默认 60s 无数据连接将会断开
proxy_read_timeout 300s;
proxy_send_timeout 300s;
proxy_set_header Host 127.0.0.1;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:8880/api/;
}
location / {
root html;
index index.html index.htm;
if (!-e $request_filename) {
rewrite ^(.*)$ /index.html?s=$1 last;
break;
}
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
由一个端口代理到另外一个端口
server {
listen 9003;
server_name redirectV3;
location / {
proxy_pass_request_headers on;
proxy_pass http://127.0.0.1:9010;
proxy_set_header Host 127.0.0.1;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
给同一端口配置多个上下文【应当有更优雅的方式】
server {
location /vs {
alias D:/workspace/web-project/dist;
try_files $uri $uri/ /vs/index.html;
}
}
开启https
# https://www.cnblogs.com/aerfazhe/p/15773667.html
server {
listen 9090 ssl;
server_name wechat;
ssl_certificate /usr/local/nginx/tanpeifang/tanpeifang.pem;
ssl_certificate_key /usr/local/nginx/tanpeifang/tanpeifang.key;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
#后台服务配置
location ^~ /api {
proxy_pass http://127.0.0.1:8080/zh-mental/;
# 请求服务器升级协议为 WebSocket
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
proxy_set_header Host 127.0.0.1;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
# 设置读写超时时间,默认 60s 无数据连接将会断开
proxy_read_timeout 600s;
proxy_send_timeout 600s;
}
location / {
root html;
index index.html index.htm;
if (!-e $request_filename) {
rewrite ^(.*)$ /index.html?s=$1 last;
break;
}
}
}