nginx入门

nginx

	反向代理:是指客户端在不需要进行任何设置的情况下,发送请求是先到代理服务器,然后在到服务器,然后服务器在返回内容到代理服务器,最后由代理服务器返回到客户端,这样的一个过程
	负载均衡:当服务器面对的并发数量很高的时候,我们可以通过nginx将请求进行均分到各个服务器上,减少单个服务器的压力
	动静分离:是指将我们的动态资源和静态资源分开放,管理动态资源的服务器就只管动态资源的请求,而静态资源的请求也由静态资源的服务器去处理

nginx 安装

1.安装gcc环境
yum -y install gcc-c++
2.安装PCRE
yum -y install pcre pcre-devel
3.安装zlib
yum -y install zlib zlib-devel
4.安装openssl
yum -y install openssl openssl-devel
5.下载nginx
wget https://nginx.org/download/nginx-1.18.0.tar.gz
6.进入下载nginx的目录解压nginx
tar -zxvf nginx-1.18.0.tar
7.安装nginx
//解压后cd nginx-1.18.0 执行 ls 查看当前文件目录的文件执行
../configure
make && make install
8.安装成功后检查nginx版本
// /usr/local/nginx/sbin/ 这是nginx所处的目录
cd /usr/local/nginx/sbin/nginx -V
如果在sbin目录下:./nginx -V
9.产看nginx进程
ps -ef | grep nginx
10.查看开发的端口号
firewall-cmd --list-all 
11.设置开放的端口号
//这里就是加一个80端口
sudo firewall-cmd --add-port=80/tcp --permanent
12.重新启动防火墙
firewall-cmd --reload
//启动之后在使用:firewall-cmd --list-all 查看端口就可以发现新添加的端口号
13.关闭指定端口防火墙
firewall-cmd --permanent --remove-port=80/tcp

nginx常用命令

在没有配置全局变量的情况下,使用nginx命令的时候需要进入到nginx目录下面:cd /usr/local/nginx/sbin
	1.nginx启动
		./nginx 
	2.nginx关闭 
		./nginx -s stop
	3.查看nginx进程
		ps -ef | grep nginx
	4.重新加载nginx
		./nginx -s reload
	5.查看nginx版本号
		./nginx -v

nginx配置文件

	nginx配置文件由三个模块构成:
		全局模块
			从配置文件到events块之间的内容,主要设置一些影响nginx服务器整体运行的命令
				worker_processes  1; //值越大,可以支持并发处理的量就越多,worker数和服务器的cpu数量是适宜的,设置少了就会浪费cpu,多了会造成cpu频繁切换的上下文损耗,例如4核的服务器就设置为4就可以了
		events模块
			涉及的指令主要影响nginx服务器与用户的网络链接
			 worker_connections  1024; //表示最大的连接数量
		http模块
			分为http全局块,和server块

配置实例

	1.反向代理
		(1)实现效果,在浏览器输入www.123.com,跳转到linux系统的tomcat主页面
		(2)准备工作,在linux系统安装tomcat工具,使用默认端口8080
			*将tomcat安装包上传到Linux服务器上,然后解压
			*进入解压后的tomcat文件中的bin目录,运行./startup.sh
			*如果报错
				Neither the JAVA_HOME nor the JRE_HOME environment variable is defined
				At least one of these environment variable is needed to run this program
			就需要安装java jdk了
			命令:yum install java-1.8.0-openjdk* -y
			然后在运行 ./startup.sh
			Tomcat started. 就代表运行成功了
		(3)然后进入tomcat目录中的logs查看日志
			在logs目录下输入:tail -f catalina.out //查看日志4)查看防火墙列表
			 firewall-cmd --list-all //如果有8080端口那么久跳过第五步5)添加8080端口
			sudo firewall-cmd --add-port=8080/tcp --permanent //添加端口号
			firewall-cmd --reload //重启防火墙6)然后我们就用通过ip地址+端口号访问tomcat服务器了,如果访问不了,可能是阿里云或者腾讯云的服务的防火墙端口没开,需要到控制台进行设置才可以
		一切准备就绪后,在nginx目录,
		cd conf
		vi nginx.conf
		listen 80; //配置需要代理的端口
		 location / {
            proxy_pass http://localhost:8080; //新的指向
         }
        退出 :wq!
        然后关闭nginx
        在重新运行nginx
   2.反向代理
   (1)实现同一个端口访问,根据不同的路径跳转到指定的页面
   	  *需要使用2个tomcat开启两个不同的服务器,一个tomcat为8080端口,一个tomcat为8081端口,分别指向不同的页面地址路径

配置:如图

loction 语法规则

	语法规则: location [=|~|~*|^~] /uri/ {}
	描述:首先匹配 =,其次匹配^~,其次是按文件中顺序的正则匹配,最后是交给 /通用匹配。当有匹配成功时候,停止匹配,按当前匹配规则处理请求。
	== 开头表示精确匹配
	^~^~开头表示uri以某个常规字符串开头,理解为匹配 url路径即可。nginx不对url做编码,因此请求为/static/20%/aa,可以被规则^~ /static/ /aa匹配到(注意是空格)
	~~ 开头表示区分大小写的正则匹配
	~*~* 开头表示不区分大小写的正则匹配
	!~!~*!~!~*分别为区分大小写不匹配及不区分大小写不匹配的正则
	/:用户所使用的代理(一般为浏览器)
	$http_x_forwarded_for:可以记录客户端IP,通过代理服务器来记录客户端的ip地址
	$http_referer:可以记录用户是从哪个链接访问过来的

nginx配置实例2

	1.负载均衡
		(1)通过浏览器的地址栏输入地址:http://192.168.17.16/edu/a.html,负载均衡效果,平均分配到8081端口中
		准备工作
		 *准备2台tomcat服务器,一台8080,一台8081
		 *2个tomcat服务器里面的webapps目录中都创建名为edu的文件夹,在edu文件夹中创建a.html用于测试
	配置:
		(1)在http模块创建:
		upstream myserver {
			server 127.0.0.1:8080 weight=5;//weight控制权重,例如这里5,那么他的承载量就是下面服务器的5倍
			server  127.0.0.1:8081 weight=1;
		}
		(2)修改server模块的server_name为:
			 server_name  127.0.0.1; //主机地址
		(3)然后在server模块中的location修改为:
			location / {
				root   html;
				index  index.html index.htm;
				proxy_pass http://myserver;  //myserver和上面的服务器配置同名
			}
	分配策略:
		1.轮询(默认)
			每个请求按照时间顺序,逐一分配到服务器中,如果服务器down掉了,就会自动剔除
		2.weight
			默认代表权重1,权重越高分配的客户端就越多
			upstream myserver {
				server 127.0.0.1:8080 weight=5;//weight控制权重,例如这里5,那么他的承载量就是下面服务器的5倍
				server  127.0.0.1:8081 weight=1;
			}
		3.ip_hash
			每个请求,按访问ip的hash分配,这样每个客户端就固定访问一个服务器,可以解决session共享的问题
			upstream myserver {
				ip_hash;
				server 127.0.0.1:8080;
				server  127.0.0.1:8081;
			}
		4.fair(第三方)
			按照后端服务器的响应时间进行分配,谁的响应时间短就分配给谁
			upstream myserver {
				fair;//需要下载安装配置fair模块才可以
				server 127.0.0.1:8080;
				server  127.0.0.1:8081;
			}

nginx动静分离

	1.什么是动静分离
		将动态的资源和静态的资源分别放在不同的服务器上
	准备工作
		*在linux系统中准备些静态资源用于访问
		我的资源分别是:root/data/img root/data/www
	步骤:
		(1)首先进入我们的nginx的conf配置文件中,添加location
        location /img/ {
            root /root/data/;
            autoindex on; //这个属性是将文件以列表形式展示
        }
        location /www/ {
            root /root/data/;
            index index.html index.html;
        }
		然后重新启动nginx:./nginx -s reload
	在浏览器中输入:ip地址/www/  或者 ip地址/img/ 就可以查看到文件了
	注意如果出现403 Forbidden需要在到我们的nginx.conf配置文件中在全局模块的位置添加:user root;

	#user  nobody;
	#error_log  logs/error.log;
	#error_log  logs/error.log  notice;
	#error_log  logs/error.log  info;

	#pid        logs/nginx.pid;

	user root; //添加就可以了
	events {
		worker_connections  1024;
	}
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
nginx是一个高性能的开源Web服务器软件,它可以作为反向代理服务器、负载均衡器和HTTP缓存服务器等多种用途。对于初学者,可以通过阅读《nginx 快速入门》这本PDF来学习nginx的基本知识和使用方法。 《nginx 快速入门》这本PDF提供了全面而详细的关于nginx的介绍和使用指南。首先,它简要介绍了nginx的历史、特点和优势,帮助读者对nginx有一个整体的了解。然后,它详细介绍了nginx的安装和配置过程,包括如何在不同操作系统上安装nginx、如何配置nginx的基本选项和参数等。 除了安装和配置,这本PDF还介绍了nginx的核心功能和常用模块的使用方法。例如,它详细介绍了如何配置nginx作为反向代理服务器,将客户端的请求转发到后端的应用服务器;如何配置nginx作为负载均衡器,实现请求的分发和负载均衡;以及如何配置nginx作为HTTP缓存服务器,提高Web应用的性能等。 此外,这本PDF还介绍了nginx的安全性和高可用性相关的内容,例如如何配置SSL证书进行HTTPS加密传输、如何配置基于HTTP Basic Authentication的访问控制、如何配置nginx实现故障转移和负载均衡等。 总之,《nginx 快速入门》这本PDF是一本适合初学者快速入门nginx的指南。通过阅读这本PDF,读者可以了解nginx的基本概念和使用方法,并能够配置和管理一个基本的nginx服务器

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值