nginx安装带stream 并处理svn跳转

本文介绍如何在Linux环境下安装Nginx并配置相关服务,同时讲解了如何进行SVN端口的转换配置,以实现特定场景下的应用需求。

一、安装nginx 

	yum -y install gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel

	wget http://nginx.org/download/nginx-1.20.1.tar.gz
	tar -zxvf nginx-1.20.1.tar.gz
	cd nginx-1.20.1
	./configure --with-stream
	make && make install

命令软件链接
    ln -s /usr/local/nginx/sbin/nginx /usr/bin/nginx 

启动
     nginx
检测配置是否正确
     nginx -t

问题一: nginx.service 找不到


1、vim /usr/lib/systemd/system/nginx.service 

2、内容: (注:/usr/local/nginx/conf/nginx.conf 是nginx的配置路径)

[Unit]
Description=nginx - high performance web server
Documentation=http://nginx.org/en/docs/
After=network-online.target remote-fs.target nss-lookup.target
Wants=network-online.target

[Service]
Type=forking
PIDFile=/var/run/nginx.pid
ExecStart=/usr/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
ExecReload=/bin/sh -c "/bin/kill -s HUP $(/bin/cat /var/run/nginx.pid)"
ExecStop=/bin/sh -c "/bin/kill -s TERM $(/bin/cat /var/run/nginx.pid)"

[Install]
WantedBy=multi-user.target

3、 重新加载
    systemctl daemon-reload

4、启动
    systemctl start nginx

注:
    配置文件路径为/usr/local/nginx/conf/ 
    和启动路径/usr/local/nginx/sbin/nginx
    /usr/local/nginx/sbin/nginx  -s start

二、svn端口转换配置

 

1、加stream配置 /usr/local/nginx/conf/nginx.conf

http {
    .....
}

stream {
    include /etc/nginx/conf.d/*.stream;
}

2、加对应的配置文件

server {
    listen       7690;

    proxy_timeout 10s;

    proxy_pass 127.0.0.1:3690;
}


 

server { listen 80; listen 443 ssl; server_name szrengjing.com; # 索引页顺序 index index.php index.html index.htm default.php default.htm default.html; # 网站根目录 root /www/wwwroot/szrengjing.com/; # ========== 包含扩展配置(谨慎检查内容)========== include /www/server/panel/vhost/nginx/extension/szrengjing.com/*.conf; # ================================================== # ✅ 第一优先级:显式阻止静态资源进入 PHP 处理 # 必须放在 include enable-php-53.conf 之前! # ================================================== # --- 保护 JS/CSS 不被 PHP 执行 --- location ~* \.(js|css)$ { # 明确 MIME 类型 add_header Content-Type application/javascript; expires 1y; add_header Cache-Control "public, immutable"; access_log off; log_not_found off; # 关键:尝试文件存在性,不传递给 PHP try_files $uri =404; } # --- 保护图片等静态资源 --- location ~* \.(gif|jpg|jpeg|png|bmp|swf|ico|svg|webp)$ { expires 30d; access_log off; log_not_found off; try_files $uri =404; } # --- 保护字体文件 --- location ~* \.(woff|woff2|ttf|eot)$ { expires 1y; add_header Cache-Control "public"; access_log off; log_not_found off; try_files $uri =404; } # ================================================== # ✅ 特殊目录保护:/jsxc/dist/ # ================================================== location /jsxc/dist/ { alias /www/wwwroot/szrengjing.com/jsxc/dist/; index index.html; # 禁止任何脚本执行 location ~ \.(php|pl|py|jsp|asp|sh|cgi)$ { deny all; } # 缓存与日志 expires 1y; add_header Cache-Control "public, immutable"; add_header X-Content-Type-Options nosniff; add_header X-Frame-Options SAMEORIGIN; # 安全兜底 try_files $uri $uri/ =404; access_log /www/wwwlogs/szrengjing.com.jsxc.access.log; log_not_found on; } # ================================================== # ✅ /chat 目录(已正确配置) # ================================================== location /chat { alias /www/wwwroot/szrengjing.com/chat/dist; index index.html; try_files $uri $uri/ =404; location ~ \.(php|jsp|asp|py|sh|pl|cgi)$ { deny all; } expires 1h; add_header Cache-Control "public, immutable"; access_log /www/wwwlogs/szrengjing.com.chat.access.log; log_not_found on; } # ================================================== # ✅ BOSH 反向代理 # ================================================== location /http-bind { proxy_pass https://127.0.0.1:5281/http-bind; proxy_http_version 1.1; proxy_set_header Connection ""; 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; proxy_set_header Content-Type "text/xml; charset=utf-8"; proxy_buffering off; proxy_cache off; proxy_read_timeout 300s; proxy_send_timeout 300s; proxy_ssl_verify off; proxy_ssl_session_reuse on; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; # CORS 支持 add_header Access-Control-Allow-Origin "*" always; add_header Access-Control-Allow-Methods "POST, GET, OPTIONS" always; add_header Access-Control-Allow-Headers "Content-Type, Accept, Authorization" always; if ($request_method = 'OPTIONS') { return 204; } } # ================================================== # ✅ Let's Encrypt 验证路径 # ================================================== include /www/server/panel/vhost/nginx/well-known/szrengjing.com.conf; # ================================================== # ✅ HTTP 强制跳转 HTTPS # ================================================== set $isRedir 1; if ($server_port = 80) { set $isRedir 2; } if ($uri ~ /\.well-known/) { set $isRedir 1; } if ($isRedir = 2) { rewrite ^(.*)$ https://$host$1 permanent; } # ================================================== # ✅ SSL 证书配置 # ================================================== ssl_certificate /www/server/panel/vhost/cert/szrengjing.com/fullchain.pem; ssl_certificate_key /www/server/panel/vhost/cert/szrengjing.com/privkey.pem; ssl_protocols TLSv1.2 TLSv1.3; ssl_ciphers EECDH+CHACHA20:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:!MD5; ssl_prefer_server_ciphers on; ssl_session_tickets on; ssl_session_cache shared:SSL:10m; ssl_session_timeout 10m; error_page 497 https://$host$request_uri; # ================================================== # ✅ 错误页 # ================================================== error_page 404 /404.html; # ================================================== # ✅ 启用 PHP 支持(必须在静态规则之后!) # ================================================== include enable-php-53.conf; # ================================================== # ✅ 伪静态规则(注意是否有重写 .js 的危险规则) # ================================================== include /www/server/panel/vhost/rewrite/szrengjing.com.conf; # ================================================== # ✅ 禁止访问敏感文件 # ================================================== location ~ ^/(\.user.ini|\.htaccess|\.git|\.env|\.svn|\.project|LICENSE|README\.md)$ { return 404; } # ================================================== # ✅ 允许 .well-known 访问(仅允许访问,不限制 js/css) # ================================================== location ~ /\.well-known { allow all; # 仅禁止脚本执行 location ~ \.php$ { deny all; } # 不再禁止 .js/.css,ACME 验证不需要这个 } # ================================================== # ✅ 日志 # ================================================== access_log /www/wwwlogs/szrengjing.com.log; error_log /www/wwwlogs/szrengjing.com.error.log; } # ================================================== # ✅ 测试端口 4443(保持不变) # ================================================== server { listen 4443 ssl http2; server_name szrengjing.com; ssl_certificate /www/server/panel/vhost/cert/szrengjing.com/fullchain.pem; ssl_certificate_key /www/server/panel/vhost/cert/szrengjing.com/privkey.pem; location / { return 200 "OK\n"; add_header Content-Type text/plain; } access_log /www/wwwlogs/test-4443.log; error_log /www/wwwlogs/test-4443.error.log; }
最新发布
11-13
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值