安装依赖
apt install gcc g++ make openssl libssl-dev -y
下载相关软件
nginx-1.23.1.tar.gz
pcre-8.45.tar.gz
zlib-1.2.12.tar.gz
下载地址如下:https://pan.baidu.com/s/1alrZGkTzpPvmK2VNtet8HA?pwd=0ado
安装与编译
mkdir /opt/nginx
tar zxvf pcre-8.45.tar.gz
mv pcre-8.45 /opt/nginx/
tar zxvf zlib-1.2.12.tar.gz
mv zlib-1.2.12 /opt/nginx/
tar zxvf nginx-1.23.1.tar.gz
cd /opt/soft/nginx/nginx-1.23.1
编译命令
./configure --prefix=/opt/nginx/ --with-pcre=/opt/nginx/pcre-8.45 --with-http_stub_status_module --with-http_gzip_static_module --with-zlib=/opt/nginx/zlib-1.2.12 --with-http_ssl_module --with-stream
make -j 8
make install
ln -s /opt/nginx/sbin/nginx /usr/sbin/nginx
编写启动脚本
vim /lib/systemd/system/nginx.service
[Unit]
Description=The NGINX HTTP and reverse proxy server
After=syslog.target network-online.target remote-fs.target nss-lookup.target
Wants=network-online.target
[Service]
Type=forking
ExecStartPre=/usr/sbin/nginx -t
ExecStart=/usr/sbin/nginx
ExecReload=/usr/sbin/nginx -s reload
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target
启动服务
systemctl enable nginx
systemctl start nginx
jenkins的反向代理配置
下面的配置是将192.168.3.10的请求全部转发到192.168.3.31:30808的jenkins服务上,需要创建80端口的server,将做301的转向,否则会出现跳转错误。
upstream jenkins {
keepalive 32;
server 192.168.3.31:30808;
}
server {
listen 80;
server_name 192.168.3.10;
return 301 http://$host$request_uri;
}
server {
listen 8080;
server_name 192.168.3.10;
location / {
proxy_pass http://jenkins;
proxy_set_header Host $host:$server_port;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
一些配置
1、跨域配置
add_header 'Access-Control-Allow-Origin' '*';
add_header 'Access-Control-Allow-Credentials' 'true';
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
add_header 'Access-Control-Allow-Headers ' 'DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type';
2、动态静态资源分离型配置,同时解决跨域
server {
listen 9004;
server_name chatgpt.aolingo.com;
client_max_body_size 81920M;
location / {
root /opt/nginx/html/saddle-master;
try_files $uri /index.html;
}
location /api {
auth_basic "Restricted Content";
auth_basic_user_file ollama-api.password;
proxy_read_timeout 3500;
proxy_connect_timeout 3250;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto https;
proxy_set_header SSL_PROTOCOL $ssl_protocol;
proxy_pass http://192.168.58.27:11434;
}
}