安装
1 2 3 4 5 6 7 8 9
| cd nginx-1.25.1 ./configure --prefix=/usr/local/nginx_1.25.1 \ --with-stream \ --with-http_ssl_module \ --with-pcre \ --with-http_gzip_static_module
--user=nginx \ --group=nginx \
|
nginx path prefix: “/usr/local/nginx_1.25.1”
nginx binary file: “/usr/local/nginx_1.25.1/sbin/nginx”
nginx modules path: “/usr/local/nginx_1.25.1/modules”
nginx configuration prefix: “/usr/local/nginx_1.25.1/conf”
nginx configuration file: “/usr/local/nginx_1.25.1/conf/nginx.conf”
nginx pid file: “/usr/local/nginx_1.25.1/logs/nginx.pid”
nginx error log file: “/usr/local/nginx_1.25.1/logs/error.log”
nginx http access log file: “/usr/local/nginx_1.25.1/logs/access.log”
nginx http client request body temporary files: “client_body_temp”
nginx http proxy temporary files: “proxy_temp”
nginx http fastcgi temporary files: “fastcgi_temp”
nginx http uwsgi temporary files: “uwsgi_temp”
nginx http scgi temporary files: “scgi_temp”
nginx config
cat /etc/nginx/nginx.conf
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92
| user www-data; worker_processes auto; pid /run/nginx.pid; include /etc/nginx/modules-enabled/*.conf;
events { worker_connections 768; # multi_accept on; }
http {
## # Basic Settings ##
sendfile on; tcp_nopush on; tcp_nodelay on;
keepalive_timeout 1800s; client_header_timeout 1800; client_body_timeout 1800; send_timeout 1800;
types_hash_max_size 2048; # server_tokens off;
client_max_body_size 10m;
# server_names_hash_bucket_size 64; # server_name_in_redirect off;
include /etc/nginx/mime.types; default_type application/octet-stream;
## # SSL Settings ##
ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # Dropping SSLv3, ref: POODLE ssl_prefer_server_ciphers on;
## # Logging Settings ##
access_log /var/log/nginx/access.log; error_log /var/log/nginx/error.log;
## # Gzip Settings ##
gzip on;
# gzip_vary on; # gzip_proxied any; # gzip_comp_level 6; # gzip_buffers 16 8k; # gzip_http_version 1.1; # gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
## # Virtual Host Configs ##
include /etc/nginx/conf.d/*.conf; include /etc/nginx/sites-enabled/*; }
#mail { # # See sample authentication script at: # # http://wiki.nginx.org/ImapAuthenticateWithApachePhpScript # # # auth_http localhost/auth.php; # # pop3_capabilities "TOP" "USER"; # # imap_capabilities "IMAP4rev1" "UIDPLUS"; # # server { # listen localhost:110; # protocol pop3; # proxy on; # } # # server { # listen localhost:143; # protocol imap; # proxy on; # } #}
|
自定义config
/etc/nginx/conf.d/nginx_s.conf
cat /data/ai+/CartoonBody/confgs/nginx_s.conf
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94
| upstream cuda2 { server 127.0.0.1:9000; #server 127.0.0.1:9001 weight=10; #server 127.0.0.1:9002 weight=10; #server 127.0.0.1:9003 weight=8; } upstream cuda_sxx { server 127.0.0.1:9010; } upstream cuda_xp { server 127.0.0.1:9030; }
server { # listen 5000 ssl; listen 5000; #include agent_deny.conf; server_name 127.0.0.1; # 这是HOST机器的外部域名,用地址也行 add_header Access-Control-Allow-Origin *; add_header Access-Control-Allow-Headers X-Requested-With; add_header Access-Control-Allow-Methods GET,POST,OPTIONS; charset 'utf-8'; # ssl_certificate cert/service.deepgaming.cn.pem; #需要将cert-file-name.pem替换成已上传的证书文件的名称。 # ssl_certificate_key cert/service.deepgaming.cn.key; #需要将cert-file-name.key替换成已上传的证书密钥文件的名称。 # ssl_session_timeout 5m; # ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; #表示使用的加密套件的类型。 # ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #表示使用的TLS协议的类型。 # ssl_prefer_server_ciphers on; # rewrite ^(.*)$ https://$host$1; #将所有HTTP请求通过rewrite指令重定向到HTTPS。
#limit_req zone=one burst=5 nodelay; #执行的动作,通过zone名字对应
location / { proxy_pass http://cuda2; # 这里是指向 gunicorn host 的服务地址 proxy_set_header Host $host:5000;#保留代理之前的host proxy_set_header X-Real-IP $remote_addr;#保留代理之前的真实客户端ip proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header HTTP_X_FORWARDED_FOR $remote_addr; proxy_redirect default; proxy_buffer_size 128k; proxy_buffers 32 128k; proxy_busy_buffers_size 128k; #用于tomcat反向代理,解决nginx 504错误 proxy_connect_timeout 300; #单位秒 proxy_send_timeout 300; #单位秒 proxy_read_timeout 300; #单位秒 proxy_temp_file_write_size 128k; }
# 重写 URL 中带有 /cycle/ 前缀的请求路径。 # location: 定义一个匹配规则来捕获请求路径。 # ~*: 表示使用正则表达式进行匹配,并且是大小写不敏感的。 # /cycle/: 匹配所有以 /cycle/ 开头的请求路径。 location ~* /cycle/{
rewrite ^/cycle/(.*)$ /$1 break; # ^/cycle/(.*)$: 这是一个正则表达式,用于匹配以 /cycle/ 开头的路径,并捕获 /cycle/ 之后的所有字符(. 表示任意字符,* 表示前面的字符可以出现任意次数,^ 和 $ 分别表示字符串的开头和结尾)。 # /$1: $1 是正则表达式中的第一个捕获组(即 (.*) 中括号内的部分) proxy_pass http://cuda_sxx/ ; proxy_set_header Host $host:5000;#保留代理之前的host proxy_set_header X-Real-IP $remote_addr;#保留代理之前的真实客户端ip proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header HTTP_X_FORWARDED_FOR $remote_addr; proxy_redirect default; proxy_buffer_size 128k; proxy_buffers 32 128k; proxy_busy_buffers_size 128k; #用于tomcat反向代理,解决nginx 504错误 proxy_connect_timeout 300; #单位秒 proxy_send_timeout 300; #单位秒 proxy_read_timeout 300; #单位秒 proxy_temp_file_write_size 128k; }
location ~* /pix2pix/{ rewrite ^/pix2pix/(.*)$ /$1 break; proxy_pass http://cuda_xp; proxy_set_header Host $host:5000; #保留代理之前的host proxy_set_header X-Real-IP $remote_addr; #保留代理之前的真实客户端ip proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header HTTP_X_FORWARDED_FOR $remote_addr; proxy_redirect default; proxy_buffer_size 128k; proxy_buffers 32 128k; proxy_busy_buffers_size 128k; #用于tomcat反向代理,解决nginx 504错误 proxy_connect_timeout 300; #单位秒 proxy_send_timeout 300; #单位秒 proxy_read_timeout 300; #单位秒 proxy_temp_file_write_size 128k; } }
|
配置示例2
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109
| upstream glm { server 127.0.0.1:6090; }
upstream sd1 { server 127.0.0.1:6081; } upstream site_sd2 { server 127.0.0.1:6082; } upstream sd3 { server 127.0.0.1:6083; } upstream sd4 { server 127.0.0.1:6084; }
server { listen 6080; #include agent_deny.conf; server_name 127.0.0.1; # 这是HOST机器的外部域名,用地址也行 add_header Access-Control-Allow-Origin *; add_header Access-Control-Allow-Headers X-Requested-With; add_header Access-Control-Allow-Methods GET,POST,OPTIONS; charset 'utf-8';
location / { proxy_pass http://sd1; # 这里是指向 gunicorn host 的服务地址 proxy_set_header Host $host:6080;#保留代理之前的host proxy_set_header X-Real-IP $remote_addr;#保留代理之前的真实客户端ip proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header HTTP_X_FORWARDED_FOR $remote_addr; proxy_redirect default; proxy_buffer_size 128k; proxy_buffers 32 128k; proxy_busy_buffers_size 128k; #用于tomcat反向代理,解决nginx 504错误 proxy_connect_timeout 300; #单位秒 proxy_send_timeout 300; #单位秒 proxy_read_timeout 300; #单位秒 proxy_temp_file_write_size 128k; }
location /sd1/ { proxy_pass http://sd1/ ; proxy_set_header Host $host:6080; #保留代理之前的host proxy_set_header X-Real-IP $remote_addr; #保留代理之前的真实客户端ip proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header HTTP_X_FORWARDED_FOR $remote_addr; proxy_redirect default; proxy_buffer_size 128k; proxy_buffers 32 128k; proxy_busy_buffers_size 128k; #用于tomcat反向代理,解决nginx 504错误 proxy_connect_timeout 300; #单位秒 proxy_send_timeout 300; #单位秒 proxy_read_timeout 300; #单位秒 proxy_temp_file_write_size 128k; }
location /sd2/ { proxy_pass http://site_sd2/ ; proxy_set_header Host $host:6080; #保留代理之前的host proxy_set_header X-Real-IP $remote_addr; #保留代理之前的真实客户端ip proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header HTTP_X_FORWARDED_FOR $remote_addr; proxy_redirect default; proxy_buffer_size 128k; proxy_buffers 32 128k; proxy_busy_buffers_size 128k; #用于tomcat反向代理,解决nginx 504错误 proxy_connect_timeout 300; #单位秒 proxy_send_timeout 300; #单位秒 proxy_read_timeout 300; #单位秒 proxy_temp_file_write_size 128k; } location /sd3/ { proxy_pass http://sd3/ ; proxy_set_header Host $host:6080; #保留代理之前的host proxy_set_header X-Real-IP $remote_addr; #保留代理之前的真实客户端ip proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header HTTP_X_FORWARDED_FOR $remote_addr; proxy_redirect default; proxy_buffer_size 128k; proxy_buffers 32 128k; proxy_busy_buffers_size 128k; #用于tomcat反向代理,解决nginx 504错误 proxy_connect_timeout 300; #单位秒 proxy_send_timeout 300; #单位秒 proxy_read_timeout 300; #单位秒 proxy_temp_file_write_size 128k; } location /sd4/ { proxy_pass http://sd4/ ; proxy_set_header Host $host:6080; #保留代理之前的host proxy_set_header X-Real-IP $remote_addr; #保留代理之前的真实客户端ip proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header HTTP_X_FORWARDED_FOR $remote_addr; proxy_redirect default; proxy_buffer_size 128k; proxy_buffers 32 128k; proxy_busy_buffers_size 128k; #用于tomcat反向代理,解决nginx 504错误 proxy_connect_timeout 300; #单位秒 proxy_send_timeout 300; #单位秒 proxy_read_timeout 300; #单位秒 proxy_temp_file_write_size 128k; } }
|
run
1 2
| cd /usr/local/nginx_1.25.1 ./sbin/nginx -s reload
|