概述
本教程操作环境:linux5.9.8系统、Dell G3电脑。
nginx是什么
Apache 静态资源服务器
nginx 是一个 反向代理的 静态资源服务器 。
nginx是一个使用c语言开发的高性能的http服务器及反向代理服务器。Nginx是一款高性能的http 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。由俄罗斯的程序设计师Igor Sysoev所开发,官方测试nginx能够支支撑5万并发链接,并且cpu、内存等资源消耗却非常低,运行非常稳定。
正向代理:
反向代理:
反向代理一般是用在服务器端 ,做请求的分发 ,能实现负载均衡。
Nginx的应用场景
1、 http服务器。Nginx是一个http服务可以独立提供http服务。可以做网页静态服务器。
2、 虚拟主机。可以实现在一台服务器虚拟出多个网站。例如个人网站使用的虚拟主机。
基于端口的,不同的端
基于域名的,不同域名
3、 反向代理,负载均衡。当网站的访问量达到一定程度后,单台服务器不能满足用户的请求时,需要用多台服务器集群可以使用nginx做反向代理。并且多台服务器可以平均分担负载,不会因为某台服务器负载高宕机而某台服务器闲置的情况。
nginx 单击版安装 启动 服务
1、安装nginx 服务需要的插件
yum install -y yum-utils
登录后复制
2、安装nginx
在官方yum源中也是没有nginx的,但是我们可以在本机去配置nginx的yam源,来实现nginx 的yum安装。
然后再创建一个nginx.repo的文件:
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0
enabled=1
登录后复制
安装好了:
nginx服务的管理命令:
3、需要关闭linux 操作系统的selinux 服务
selinux是linux的安全服务套件
修改 vi /etc/selinux/config文件,修改如下内容:
修改过之后,必须重启linux。
nginx 配置文件:
使用nginx 做负载均衡
下载完压缩包通过xftp传到linux的opt文件夹下,进行解压
第一步,首先要在我们linux服务器上启动两个tomcat
先配置jdk环境变量:
然后 保存退出 ,在命令行执行 source 命令 编译环境变量文件,让环境变量立刻生效:
tomcat 启动:
第二步,准备两个tomcat 一个端口号弄成8000 另外一个9000
第三步,修改nginx的配置文件
没有安装vim,使用vi命令
然后重启nginx服务:
nginx支持的负载均衡的策略
轮询策略
默认nginx支持的策略,来了请求之后 排队把请求一个一个的分发出去。
权重策略
IP_HASH方式
根据 客户端ip地址 固定分配到一台服务器上,以后这个ip来的所有请求 都会只到这一个服务器上。
使用keepalived 完成 nginx 高可用配置
上面我们实现的集群方式 可以解决tomcat 服务器单点故障的问题,但是解决不了 nginx服务器单点故障的问题。
解决nginx 单点故障问题,市场上通用的解决方案就是使用keepalived 这种插件。
先安装keepalived服务:
下面修改keepalived的配置文件: vim /etc/keepalived/keepalived.conf文件:
global_defs {
notification_email {
#keepalived如果检测到nginx服务不能用会往这个邮件发信心
test@163.com
}
#配置邮件服务器的信息
notification_email_from keepalived@localhost
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id LVS_MASTER
}
#声明一个脚本
vrrp_script chk_http_port {
#检测本机nginx的服务是否能用的脚本 这个脚本等下要自己编写
script "/usr/local/src/check_nginx_pid.sh"
#每隔多长时间自动调用上述脚本
interval 2
#权重
weight 2
}
vrrp_instance VI_1 {
#state MASTER
#配置当前的nginx服务器是主机还是备机
state BACKUP
#配置当前nginx服务是是否非抢占模式
#nopreempt
#配置心跳网卡的名称
interface ens33
#所有的keepalived的服务器的虚拟化路由都要一致
virtual_router_id 50
#nginx服务器的初始化权重
priority 100
#心跳连接发送的间隔
advert_int 1
#认证方式和认证密码 要保证所有keepalive的服务器的验证方式和密码都一样
authentication {
auth_type PASS
auth_pass 1111
}
#启用上述脚本
track_script {
chk_http_port
}
virtual_ipaddress {
#配置了keeplived服务器之后再访问tomcat集群虚拟的ip地址时多少
192.168.17.222
#虚拟ip
}
}
登录后复制
下一步,写/usr/local/src/check_nginx_pid.sh这个脚本:
#! /bin/bash
A=`ps -C nginx --no-header |wc -l`
if [ $A -eq 0 ];then
systemctl start nginx
if [ `ps -C nginx --no-header |wc -l` -eq 0 ];then
killall keepalived
fi
fi
登录后复制
创建好这个脚本之后 不要忘记修改文件的权限:
下面启动keepalived服务:
systemctl start keepalived
登录后复制
相关推荐:《Linux视频教程》
以上就是linux中的nginx是什么的详细内容,更多请关注靠谱客其它相关文章!
最后
以上就是傲娇超短裙为你收集整理的linux中的nginx是什么的全部内容,希望文章能够帮你解决linux中的nginx是什么所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复