2018-10-09 16:19:31 wozhenshiluchi 阅读数 2253
  • Nginx服务器配置

    Nginx是由Igor Sysoev为俄罗斯的Rambler.ru站点开发的一个高性能的HTTP和反向代理服务器,也是现在中国互联网公司使用多的代理软件,利用Nginx与各个模块的整合可以实现高效的WEB处理能力。官方QQ群:612148723。

    4276 人正在学习 去看看 李兴华

自己想了解一下tp5,故安装下载了tp5的源码,目录名命名为tp5,用phpstudy配置到ngnix服务器下之后,访问报错  “ngnix 500 Internal Server Error“,百度没找到合适的错误原因,切换到apache服务器下后 ,可以正常访问,故断定是ngnix上的错误,打开ngnix的日志,发现这样一条日志,“”

而我ngnix下的配置路径是这样的,“ root   "D:\phpStudy\PHPTutorial\WWW\tp5\public";”,推测\t在ngnix下被转义成了空格,所以我在\中间加上了“/”符号,再次访问,500错误不存在了,可以正常访问了,所以,在ngnix配置文件里要注意不要有转义符。

2018-12-25 12:34:38 hexu_blog 阅读数 308
  • Nginx服务器配置

    Nginx是由Igor Sysoev为俄罗斯的Rambler.ru站点开发的一个高性能的HTTP和反向代理服务器,也是现在中国互联网公司使用多的代理软件,利用Nginx与各个模块的整合可以实现高效的WEB处理能力。官方QQ群:612148723。

    4276 人正在学习 去看看 李兴华

1,先去官网下载ngnix,解压一般放在f:盘

2,进入ngnix,使用dos命令打开

3.

4.ngnix--conf文件的配置

 

2018-12-10 23:34:36 weixin_42323802 阅读数 111
  • Nginx服务器配置

    Nginx是由Igor Sysoev为俄罗斯的Rambler.ru站点开发的一个高性能的HTTP和反向代理服务器,也是现在中国互联网公司使用多的代理软件,利用Nginx与各个模块的整合可以实现高效的WEB处理能力。官方QQ群:612148723。

    4276 人正在学习 去看看 李兴华

在模拟post请求上传FDFS时候、一直404报错,查看路径前后端前前后后都没有什么错误、部分post 请求如下:
1
Debug之后请求的path 仍是找不到,网关Zuul 已经设置忽略了上传微服务的路径拦截,并重启;

zuul:
  ignored-services:
    - upload-service # 忽略upload-service服务

后来想到是不是重启Ngnix 没有生效,毕竟更改了配置,清空日志、再次重启Ngnix之后,仍旧是找不到path,在单元测试确定 Linux 环境的FDFS/Nginx 没有问题的前提下、
试着访问配置的网关的Nginx 代理、这时候问题出来了,是的,问题就在这里;

为什么前面Nginx 配置错误却对程序网关Zuul微服务没有影响呢?
请看下面分析:

因为,在配置Ngnix 代理的时候,配置主域名以及网关代理时候,都是按照正确的规则来配置的,所以对各个模块,包括跨域问题都没有什么影响;问题出在在解决上传时候前端定好上传路径 http://api.doudou.com/api/upload/image

  • 前半段域名 http://api.doudou.com
  • 剩下 /api/upload/image 要解决,controller 中的路径是 /upload/image 如下示例,这样的话,就单独剩下api 的问题在通过Nginx 来解决就ok 了、
@RestController
@RequestMapping("upload")
public class UploadController {
    @Autowired
    private UploadService uploadService;
    @PostMapping("/image")
    public ResponseEntity<String> uploadImage(@RequestParam("file") MultipartFile file) {
        String url=this.uploadService.uploadImage(file);
        if (StringUtils.isNotBlank(url)) {
            return ResponseEntity.ok(url);
        }
        //400
        return new ResponseEntity<>(HttpStatus.BAD_REQUEST);
    }
}

这时候,问题出现了,瞎配,直接把该丢到监听网关server的配置丢到了主域名里面去,在单元测试时候竟然没有测出来、
单元测试生成文件路径path使用 Linux 的 http://IP/path 直接访问静态资源,测不出,没经过Ngnix ;

正确的配置如下:
#user  nobody;
worker_processes  1;

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
   
    keepalive_timeout  65;

    gzip  on;
#每个server就是一个反向代理配置,可以有多个server
#=================================================================== 
	server {
#监听的端口
        listen       80;
#监听的域名
        server_name  manage.doudou.com;
#头信息
        proxy_set_header X-Forwarded-Host $host;
        proxy_set_header X-Forwarded-Server $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
#请求映射规则,/ 表示映射一切路径
        location / {
#代理转发,所有的请求  manage.doudou.com:80 的请求都会转发到 http://127.0.0.1:9001 这个地址、
			proxy_pass http://127.0.0.1:9001;
#连接时间超时
			proxy_connect_timeout 600;
#读取时间超时
			proxy_read_timeout 600;
        }
		
    }
#===================================================================    
	server {
        listen       80;
        server_name  api.doudou.com;

        proxy_set_header X-Forwarded-Host $host;
        proxy_set_header X-Forwarded-Server $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

    	# 上传路径的映射
		location /api/upload {	
			proxy_pass http://127.0.0.1:8082;
			proxy_connect_timeout 600;
			proxy_read_timeout 600;
			#重写规则
			rewrite "^/api/(.*)$" /$1 break; 
        }
		
        location / {
			proxy_pass http://127.0.0.1:10010;
			proxy_connect_timeout 600;
			proxy_read_timeout 600;
        }
    }
}	
2019-11-19 14:20:40 wzp12321 阅读数 28
  • Nginx服务器配置

    Nginx是由Igor Sysoev为俄罗斯的Rambler.ru站点开发的一个高性能的HTTP和反向代理服务器,也是现在中国互联网公司使用多的代理软件,利用Nginx与各个模块的整合可以实现高效的WEB处理能力。官方QQ群:612148723。

    4276 人正在学习 去看看 李兴华

一、ngnix + tomcat

1、ngnix配置如下

server {
    listen       801;
    server_name  localhost;
    location /planeApi {
            proxy_set_header  Host $host;
            proxy_set_header  X-Real-IP $remote_addr;
            proxy_set_header  X-Forwarded-Proto https;
            proxy_set_header  X-Forwarded-For $remote_addr;
            proxy_set_header  X-Forwarded-Host $remote_addr;
            proxy_pass http://127.0.0.1:8095;
        }
    }

 2、tomcat server.xml 添加如下配置,tomcat 的webapp下的war包名字改为 planeApi.war

<Context path="/" docBase="C:\software\apache-tomcat-8.5.24\webapps" reloadable="true" />

 如上,我们在访问 http://localhost:801/planeApi 时会被ngnix 转发到 http://localhost:8095 上,即我们访问 http://localhost:801/planeApi/test 就是访问 http://localhost:8095/planeApi/test

有个小方法,我们不需要配置tomcat里面的server.xml文件,那就是直接把 war 包文件的名字修改为 ROOT.war,当然,这样修改的话,访问 http://localhost:801/planeApi/test 就是访问 http://localhost:8095/test

二、ngnix 本身,配置如下

server {
        listen       80;
        server_name  localhost;

        location /plane {
            root   test;
            index  index.html index.htm;
        }

        error_page   500 502 503 504  /50x.html;
		
		location = /50x.html {
            root   html;
        }
    }

如上,我们访问 http://localhost/plane 时就会访问到 ngnix 根目录下的 test/plane目录下的文件,即访问的是 http://localhost/plane/index.html

这里出了一个坑,如下图,ngnix 自身有一个默认的server配置,它也是监听的localhost 80 端口,然后因为优先级顺序,以及 location配置的关系,导致我们在访问 http://localhost/plane 时,它去 ngnix 的 html 目录下找 plane 目录了,当然,这是肯定找不到的,会报错404......

三、顺便说一下 ngnix 的 location 常用的配置

location = / {

精确匹配,必须是127.0.0.1/
 
}

location / {

什么都可以匹配
http://localhost/register11
http://localhost/register111
 
}
 
location = /login {

精确匹配,必须是127.0.0.1/login
 
}
 
location ^~ /static/ {

非精确匹配,并且不区分大小写,
比如 http://127.0.0.1/static/js,http://localhost/static/a.html
 
}
 
location ~ \.(gif|jpg|png|js|css)$ {

区分大小写,以gif,jpg,js结尾
比如 http://localhost/a.gif, http://localhost/b.jpg
 
}
 
location ~* \.png$ {

不区分大小写,匹配.png结尾的
比如 http://localhost/b.png
 
}
 
location !~ \.xhtml$ {

区分大小写,匹配不以.xhtml结尾的
比如 http://localhost/a.xhtml 会被排除掉
 
}
 
location !~* \.xhtml$ {

不区分大小写,匹配不以.xhtml结尾的
比如 http://localhost/a.XHTML,http://localhost/a.xhtml 都会被排除掉
 
}

四、alias、root 的区别

location /plane {
    alias /test/;
}

如上,访问 /plane/ 里面的文件时,ngnix 则会去 /tets/ 目录下找文件,alias 是一个目录别名的定义,alias 后面必须用 / 结束,否则找不到文件,到时候会懵逼的......

location /plane {
    root test;
}

如上,访问 /plane/ 里面的文件时,ngnix 则会去 /tets/plane/ 目录下找文件,root 是 最上层根目录的定义,后面的 / 可有可无,不重要,也不影响......

 

2019-06-17 11:05:26 qq_31806155 阅读数 1028
  • Nginx服务器配置

    Nginx是由Igor Sysoev为俄罗斯的Rambler.ru站点开发的一个高性能的HTTP和反向代理服务器,也是现在中国互联网公司使用多的代理软件,利用Nginx与各个模块的整合可以实现高效的WEB处理能力。官方QQ群:612148723。

    4276 人正在学习 去看看 李兴华

ngnix重启 -bash: ./nginx: Permission denied问题


)

问题出现原因

更新文件的时候不小心把ngnix文件删掉了,之后重新通过ftp上传ngnix文件,导致出现该权限的问题

解决办法

  1. chmod +x nginx,给该文件增加权限
  2. ./nginx -t -c /usr/local/nginx/nginx.conf
  3. 启动ngnix ./ngnix
  4. 如果ngnix.conf有改动在执行./nginx -s reload命令即可

ngnix 搭建

阅读数 450

Ngnix

阅读数 15

没有更多推荐了,返回首页