配置生效、批量关闭
环境:win、
技术:若依springboot+vue
服务器的nginx进程数量不合理,太多了
修改nginx安装路径下conf/nginx.conf文件,改下工作进程数量(用CPU内核数合适):
worker_processes 16;
我给nginx的配置16个进程没有生效,又出来三十多个,执行stop命令报错,一边说不能创建pid文件,一边又说找不到文件,可是有pid说明是启动状态,不然我为什么要停止呢?之前别人都是在任务管理器里边一个个点“结束进程”,“确认”,有点烦,打开pid文件看了看,想用kill干掉,然而win下没有kill,网上搜了下,可以用这条命令关闭所有nginx进程
taskkill /f /im nginx.exe
没有进程的话效果是这样的
端口配置不生效。
这个坑,不能正常接受我的重载配置命令,停止命令也不行。这个坑背后的真正原因是,我配置的地方和启动的nginx根本就不是一个(有人放了了两三个nginx在这,不小心混了)。
登陆验证码不加载、不能访问后端接口
问题描述
要说nginx的问题,可真是大了去了。
若依新系统本地部署,nginx配完端口代理后,验证码加载不出来,因为是内部测试不着急所以放着没管。
然而在生产环境部署另一个系统时,同样遇到了类似问题:可以打开页面,但是发送的网络请求超时,404。
原因分析
直觉告诉我,还是nginx没弄好,所以网络请求出不来。
这里要注意到不能访问后端接口,后台也是可能有问题的,详见这篇文章,网络请求接口无响应,一直显示pending。
解决方案1
对于生产环境要部署的系统,所有网络请求都是限定在某一路径,处理起来要简单一些。
网络搜索“nginx 加载后不能访问后端接口”,受某博客启发,参照已有配置(抄的原因是我没有找到合适的nginx课程),补上了对后台接口的路由。
upstream api_server {
server 192.168.10.58:6666;
}
server {
listen 8080;
server_name localhost;
root html;
index index.html;
location / {
try_files $uri $uri/ /index.html;
}
location /lightsoft/icu {
proxy_pass http://api_server;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
解决方案2
对内部要测试的若依系统,功能页面和根路径混在一起,难以区别。
原因分析
目前我能拿到的网络请求只有两个,加载验证码请求,登录请求。
对验证码图片网络请求做了点路径匹配,看不出问题,看登录请求有个405。
搜索“若依 nginx部署 405 Not Allowed”,找到这么个博客,文章中对我有用的话大概是这句:
因为这里请求的静态文件采用的是post方法,nginx是不允许post访问静态资源。题话外,试着post访问了下www.baidu.com发现页面也是报错,可以试着用get方式访问
登录请求用get那肯定是不合适,细读一遍,这里有另外一个值得注意的地方,不允许post访问静态资源,说明这个登录请求还是在nginx里边,没有发出去。
修改nginx配置调整完这里,发现反应不一样了,状态码变成200弹出了重新登录的弹窗。
要说没有nginx教程,我百度了一下,回想起来这个w3school果然是个好东西啊。
先发出来吧,等有空解决这个问题了,再来填坑。