• nginx简单配置


    本文主要围绕下面几个点进行叙述。

    1、什么是nginx?

    Nginx (engine x) 是一款轻量级的Web 服务器 、反向代理服务器及电子邮件(IMAP/POP3)代理服务器。

    2、什么是反向代理?

    反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。

    关于反向代理,网上还有很多资料可以帮助理解。

    3、window与Linux上的安装

    简单说一下window上的安装,Linux上的后面补充。

    首先下载地址:http://nginx.org/en/download.html

    我现在的版本是nginx/Windows-1.10.2,找个位置,解压,来简单说明一下解压下的文件目录:

    其他的就不介绍,说一下用的主要的俩文件,conf下是一些配置文件,logs中是一些日志文件。

    我解压的路径是D:yh,以为这个路径说明,进入 ginx-1.10.2文件夹下,shift+鼠标右键,进入命令窗口,如图:

    下面介绍window下我使用比较多的几个命令。

    4、nginx常用的几个命令

    进入如上命令窗口后,start nginx,就可以启动nginx,不放心吗?你可以到任务管理中查看一下。

    当修改了配置文件后,需要重新reload,命令是 nginx -s reload,这个命令也很常用,当然还有其他命令,如下

    nginx -s stop 快速关闭Nginx,可能不保存相关信息,并迅速终止web服务。

    nginx -s quit 平稳关闭Nginx,保存相关信息,有安排的结束web服务。

    nginx -s reopen 重新打开日志文件。

    nginx -c filename 为 Nginx 指定一个配置文件,来代替缺省的。

    nginx -t 不运行,而仅仅测试配置文件。nginx 将检查配置文件的语法的正确性,并尝试打开配置文件中所引用到的文件。

    nginx -v 显示 nginx 的版本。

    nginx -V 显示 nginx 的版本,编译器版本和配置参数。

    记得使用命令启动nginx或者重新reload的时候,可参考logs下的几个日志文件。

    5、结合项目进行实际配置

    其实我配置nginx仅仅是为了完成http的反向代理,这里没有复杂的配置,想使用自己配置的域名进行访问我的项目【抛弃localhost:9090】,至于使用 nginx做负载均衡,等后面配置到了再在博文的补充完善。

    conf/nginx.conf配置如下:

    #运行的用户
    #user  nobody;
    
    #启动进程,通常设置成和cpu的数量相等
    worker_processes  1;
    
    #全局错误日志
    error_log  D:/yh/nginx-1.10.2/logs/error.log;
    error_log  D:/yh/nginx-1.10.2/logs/notice.log  notice;
    error_log  D:/yh/nginx-1.10.2/logs/info.log  info;
    
    #PID文件,记录当前启动的nginx的进程ID
    pid       D:/yh/nginx-1.10.2/logs/nginx.pid;
    
    #工作模式及连接数上限
    events {
        worker_connections  1024; #单个后台worker process进程的最大并发链接数
    }
    
    #设定http服务器,利用它的反向代理功能提供负载均衡支持
    http {
    
        #设定mime类型(邮件支持类型),类型由mime.types文件定义
        include       D:/yh/nginx-1.10.2/conf/mime.types;
    	
        default_type  application/octet-stream;
    
        #设定日志
        log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                          '$status $body_bytes_sent "$http_referer" '
                          '"$http_user_agent" "$http_x_forwarded_for"';
    
        access_log  D:/yh/nginx-1.10.2/logs/access.log  main;
    	
        #sendfile 指令指定 nginx 是否调用 sendfile 函数(zero copy 方式)来输出文件,对于普通应用,
        #必须设为 on,如果用来进行下载等应用磁盘IO重负载应用,可设置为 off,以平衡磁盘与网络I/O处理速度,降低系统的uptime.
        sendfile        on;
        #tcp_nopush     on;
    
        #连接超时时间
        #keepalive_timeout  0;
        keepalive_timeout 120;
    
        #gzip压缩开关
        #gzip  on;
    	
        #设定实际的服务器列表 
        upstream server1{
            server 127.0.0.1:9090;
        }
    
        #HTTP服务器
        server {
    	
    	#监听80端口,80端口是知名端口号,用于HTTP协议
            listen       80;
    		
    	#定义自己的访问url,hosts中有配置
            server_name  www.heyLuer.com;
    
    	#首页
    	index index.html
    		 
    	# 项目路径
    	root D:yhworkspacexxsrcmainwebapp;
    		
    	# 编码格式
    	charset utf-8;
    		
    	#代理配置参数
            proxy_connect_timeout 180;
            proxy_send_timeout 180;
            proxy_read_timeout 180;
            proxy_set_header Host $host;
            proxy_set_header X-Forwarder-For $remote_addr;
    		
            #access_log  logs/host.access.log  main;
    
            location / {
                	proxy_pass http://server1;
            }
    
    		
            #错误处理页面(可选择性配置)
            #error_page   404              /404.html;
            #error_page   500 502 503 504  /50x.html;
            #location = /50x.html {
            #    root   html;
            #}
            
        }
    
    }
    

    配置如上,写的很清晰,tomcat启动项目,使用域名访问,正常访问项目,配置ok!

    由于能力有限,以上内容如有错误,欢迎大家的指正。

    后续补充其他内容......  

  • 相关阅读:
    encode 与 decode
    pthon_flask小汇总
    jquery 动态添加标签而且指定样式
    设置Myeclipse中的代码格式化、及保存时自动格式化
    a href="javascript:void(0)" 是什么意思?与 a href="#" 加不加上有什么区别?
    String类 与StringBuffer类
    Java中的String类与StringBuffer类
    获取系统的当前时间
    switch 中可以使用字符串当判断条件
    关于接口的那些事
  • 原文地址:https://www.cnblogs.com/yangh965/p/6030327.html
Copyright © 2020-2023  润新知