Linux 配置 nginx
1. 下载nginx安装包
cd /etc/
wget https://nginx.org/download/nginx-1.20.0.tar.gz
tar -zxvf nginx-1.20.0.tar.gz
cd ./nginx-1.20.0
2. 安装依赖
1.CentOS
# 提示 error: the HTTP rewrite module requires the PCRE library.
yum install -y pcre pcre-devel
# 提示 error: Invalid C++ compiler or C++ compiler flags.
yum install -y gcc gcc-c++
# 提示 error: the HTTP gzip module requires the zlib library.
yum install -y zlib-devel
2. Ubuntu
apt-get install -y make gcc libpcre3 libpcre3-dev zlib1g-dev openssl libssl-dev
3. 配置负载均衡
./configure --prefix=/usr/local/nginx/ --with-stream=dynamic
4. 编译安装
make
make install
5. 启动运行
cd /usr/local/nginx # 进入安装路径
./sbin/nginx
6. 配置环境变量
vim /etc/profile
在配置文件中追加环境路径
unset -f pathmunge
PATH=$PATH:/usr/local/nginx/sbin
export PATH
更新环境变量
source /etc/profile
附录
1. 指定nginx配置
nginx -c /usr/local/nginx/conf/nginx.conf
2. 刷新nginx配置
nginx -s reload
3. nginx配置参考
load_module /usr/local/nginx/modules/ngx_stream_module.so;
user root;
worker_processes 1;
events{
worker_connections 1024;
}
stream{ # 负载均衡
tcp_nodelay on;
log_format proxy '$remote_addr [$time_local] ' '$protocol $status $bytes_sent $bytes_received ' '$session_time "$upstream_addr" ' '"$upstream_bytes_sent" "$upstream_bytes_received" "$upstream_connect_time"';
access_log /usr/local/nginx/logs/access.log proxy; # 日志设置
upstream ocr_socket{
least_conn; # 转发到最少连接节点
server 10.0.X.X:10001 weight=1; # 服务端地址1
server 10.0.X.X:10002 weight=1; # 服务端地址1
}
upstream target_socket{
least_conn;
server 10.0.X.X:20002 weight=1;
}
server{
listen 12345; #监听端口
proxy_protocol on;
proxy_timeout 43200s;
proxy_pass ocr_socket;
}
server{
listen 23456;
proxy_protocol on;
proxy_timeout 42300s;
proxy_pass target_socket;
}
}
http{
include mime.types;
default_type application/octet-stream;
error_log /usr/local/nginx/logs/nginx-error.log error;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
types_hash_max_size 5096;
keepalive_timeout 43200;
client_max_body_size 2048M;
client_body_timeout 43200;
proxy_connect_timeout 43200;
proxy_send_timeout 43200;
proxy_read_timeout 43200;
send_timeout 3600;
server {
listen X; # 前端访问端口
server_name localhost;
location / {
root /path/dist; # 前端文件位置
index index.html;
location /api {
rewrite ^.+api/?(.*)$ /$1 break;
include uwsgi_params;
proxy_pass http://127.0.0.1:X; # 后端监听端口
}
}
}
}