Nginx

详细文章 :https://www.cnblogs.com/xiugeng/p/10155283.html

特点

  • 开源、免费、轻量级、高性能反向代理服务器/web服务器

使用

  1. 启动start nginx
  2. 重启nginx -s reload
  3. 关闭nginx -s stop

配置

只支持httphttps协议

目录形式

server{
	//监听的端口号
	listen		80;
	//要拦截的域名
	server_name	localhost;
	//表示要拦截所有的请求
	location / {
			//表示代理的是一个目录,名称是html。
			//所以这里写好了目录后,就表示可以访问该目录下的静态资源了
            root   html;
            //默认的欢迎页面
            //这里表示的是如果有index.html文件,在使用/访问时会默认加载index.html
            //不影响其他的静态资源的访问
            index  50x.html index.html index.htm;
    }
}

代理端口

server{
    listen   80;
    server_name  image.jt.com;
    location / {
        #proxy_pass   http://localhost:8091;
    }
}

负载均衡

server{
    listen   80;
    server_name  manage.jt.com;
    location / {
    	#配置集群的引用
        proxy_pass   http://tomcats;
    }
}
#配置tomcat服务器集群
upstream tomcats{
    server 127.0.0.1:8091;
    server 127.0.0.1:8092;
    server 127.0.0.1:8093;
}

带权重的负载均衡

server{
    listen   80;
    server_name  manage.jt.com;
    location / {
    	#配置集群的引用
        proxy_pass   http://tomcats;
    }
}
#配置tomcat服务器集群
upstream tomcats{
    server 127.0.0.1:8091 weight=3;//权重3
    server 127.0.0.1:8092 weight=2;//权重2
    server 127.0.0.1:8093 weight=1;//权重1
}

带hash带权重的负载均衡

如果需要用户在第一次被负载均衡分配到某一台机器后,后面的请求都发到这台服务器上,就可以使用ip_hash

server{
    listen   80;
    server_name  manage.jt.com;
    location / {
    	#配置集群的引用
        proxy_pass   http://tomcats;
    }
}
#配置tomcat服务器集群
upstream tomcats{
    ip_hash;
    server 127.0.0.1:8091 weight=3;//权重3
    server 127.0.0.1:8092 weight=2;//权重2
    server 127.0.0.1:8093 weight=1;//权重1
}

常见异常

  • 1.使用start nginx启动后,进程列表里面看不见nginx的身影,说明可能是配置文件有错误,导致无法正常运行起来,可以使用nginx命令启动,此时会报出错误信息
D:\files\nginx\nginx-1.21.4>nginx
nginx: [emerg] unexpected "}" in D:\files\nginx\nginx-1.21.4/conf/nginx.conf:130

如上报出的信息是conf/nginx.conf文件中的第130行有错,打开配置文件如下,发现是129行最后没有加分号。当然了这个错误是我手动搞的,实际遇到过的是有的同学这三行都没有写分号、写的是中文的分号

125:    #配置tomcat服务器集群
126:    upstream tomcats{
127:        server  127.0.0.1:8091;
128:        server  127.0.0.1:8092;
129:        server  127.0.0.1:8093
130:    }
  • 正常启动nginx了,配置也没报错,但就是无法正常访问。可以检查进程列表里面是否有超过2个的nginx进程。如果有多个进程可以全部关掉后再重新启动,记得先关闭占用内存小的进程,再关占用多的。
  • 正常情况是只有两个进程,一个是主进程,用来实际干活,手动结束后会再次自动启动。另一个是守护进程,用来管理主进程,比如在重新加载时会先启动一个新的主进程生效新的配置文件,再通知旧的主进程关闭。还有就是主进程被异常关闭后再次尝试启动主进程。

集群项目重新部署的方式

  1. 首先需要制定上线计划,分批次上线部署。
  2. 首先可以先将一部分服务器down掉,之后替换新的jar包,重启服务器,测试通过之后,nginx正式接通
  3. 重复执行多次,直至项目部署完成

你可能感兴趣的:(笔记,nginx,服务器,运维)