nginx专题-nginx入门

什么是nginx?

nginx是一个高性能的Http和反向代理web服务器。其它常见的web服务器有apache,tomcat,iis等。

nginx的特点

nginx具有非常多的优点,博主暂时列举了一下几个优点,并且由于时间的限制,并没有深入研究,得到一些确切的数据。等有时间了,会回过头来试验。

支持高并发连接

nginx可以轻松支持几万的高并发。

内存消耗小

内存消耗

成本低廉

首先nginx是免费开源的web服务器,并且它的性能比较优越,也就相当于节省了服务器资源。

负载均衡

nginx可以实现负载均衡,就是通过一定的路由算法,将请求均衡的分配到多个服务器应用上。

反向代理

nginx可以实现反向代理的功能。举个例子,比如说一台服务器上部署了多个应用程序(这个应用程序的端口并不一致),我们可以借助于nginx的转发功能,将不同的url规则路由到不同的应用程序上。常见于前后端分离的应用。

支持热部署

nginx可以支持配置文件的热加载,可以支持nginx版本的热升级

nginx文件目录

nginx文件目录

目录介绍

  • conf,配置文件
  • docs,文档
  • logs,日志文件
  • nginx.exe nginx

nginx常用命令

这里介绍一下windows环境下nginx的常用命令,并且命令需要在nginx.exe所在目录下执行。

启动

#也可以直接运行nginx.exe文件
start nginx 

正常停止

nginx.exe -s quit

快速停止

nginx.exe -s stop

重新加载

nginx -s reload

常见错误

windows下nginx启动报错

在windows上安装nginx的时候,nginx会启动错误。错误信息如下:

 bind() to 0.0.0.0:80 failed (10013: An attempt was made to access a socket in a way forbidden by its access permissions)

这是因为windows系统自带了iis web服务器,iis已经占用了80端口,小伙伴们可以自行百度一下解除占用教程。

windows下nginx进程无法彻底杀死

在使用nginx停止命令时,nginx不会出现无法彻底杀死的情况。图中的nginx.pid记录了nginx的进程pid。

pid配置

此时如果使用程序管理器 或者 taskkill /pid /F 端口号杀死nginx,无法正常停止。

解决方法

taskkill /f /t /im nginx.exe

nginx的基本配置介绍

#使用的用户
#user  nobody;

#指定的工作进程树
worker_processes  1;

#指定错误日志存放的路径
#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#指定pid的存放路径
#pid        logs/nginx.pid;

events {
	#允许的连接数
    worker_connections  1024;
}

#http服务器配置
http {

	#导入支持的mime文件类型
    include       mime.types;
	
	#默认mime类型 二进制流
    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  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

	#一个连接请求完之后还需要保持多长时间
    #keepalive_timeout  0;
    keepalive_timeout  65;

	#是否开启gzip压缩,需要服务器和浏览器同时支持
    #gzip  on;

	#虚拟主机配置
    server {
		
		#监听端口
        listen       80;
		
		#监听域名
        server_name  www.test.com;

		#字符集
        #charset koi8-r;

		#日志存放路径
        #access_log  logs/host.access.log  main;

		#路径定位
        location / {
			
			#转发配置
             proxy_pass http://localhost:8080/;    
        }

		#错误状态码 页面配置
        #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
		#
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
		
			#根目录配置
            root   html;
        }
    }
}

推荐书籍

<<实战Nginx.取代Apache的高性能Web服务器.2010.pdf>>

博主微信公众号

posted on 2020-08-03 22:07  幕友皎敖奔乾  阅读(140)  评论(0编辑  收藏  举报

导航