教程 https://www.bilibili.com/video/av68136734?p=4
nginx简介
1.什么是nginx
是一种高性能的HTTP和反向代理的web服务器,特点是占有内存少,并发能力强,nginx的网站用户有很多大公司诸如百度,京东、新浪、网易等等
nginx专为性能优化开发,性能是最重要的考量,实现上非常注重效率。能经受高达50000个并发连接数
2.反向代理
2.1正向代理
如果把Internet想象成一个巨大的资源库,则局域网中的客户端要访问internet,则需要通过代理服务器来访问这种代理称为正向代理,这种代理服务器称作正向代理,例如vpn
2.2反向代理
用户把请求发送到反向代理服务器中,由反向代理服务器去选择目标服务器获取数据之后再返回给客户端,此时反向代理服务器和目标服务器对外而言就是一个服务器,暴露的是代理服务器的地址,而保护了真实服务器的IP地址
3.负载均衡
当遇到单个服务器解决不了的情况时,增加服务器的数量,然后将请求分发到各个服务器上,将原来的请求集中到一个服务器的情况改为分发到多个服务器的情况。
4.动静分离
为了加快网站的解析速度,可以把动态的页面和静态的页面由不同的服务器来解析,加快解析速度,降低原来单个服务器的压力
nginx安装
(1) 安装 pcre
解压缩 pcre-xx.tar.gz 包
进入解压缩目录,
执行./configure
如果提示,需要提前安装 gcc++,
进入安装光盘目录的软件包(/media/CentOSXX/Package)
执行 rpm -ivh libstdc++-devel-4.4.7-17.el6.x86_64.rpm
rpm -ivh gcc-c++-4.4.7-17.el6.x86_64.rpm
./configure 完成后,
回到 pcre 目录下执行 make,
再执行 make install
(2) 安装 openssl
解压缩 openssl-xx.tar.gz 包。
进入解压缩目录,
执行./config
make && make install
(3) 安装 zlib 解压缩 zlib-xx.tar.gz 包。
进入解压缩目录,执行./configure。
make && make install
2.一键安装后两种依赖,具体能不能装第一种未知(绝望了吧,后两种一行命令就可以,哈哈哈)
yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel
3.安装 nginx 解压缩 nginx-xx.tar.gz 包。
进入解压缩目录,
执行./configure。
make && make install
4.安装完成之后再/usr/local/nginx/sbin下面有启动脚本
./nginx启动,(必须在上面目录下)
用ps -ef | grep nginx
nginx常用命令
1.启动问题
(1) 启动问题 进入/usr/local/nginx/sbin 目录,
运行命令./nginx 即可启动 nginx nginx
无法启动: libpcre.so.1/libpcre.so.0: cannot open shared object file
解决方法: ln -s /usr/local/lib/libpcre.so.1 /lib64
32 位系统则: ln -s /usr/local/lib/libpcre.so.1 /lib
(2) 启动命令 启动命令:在/usr/local/nginx/sbin 目录下执行 ./nginx
关闭命令: 在/usr/local/nginx/sbin 目录下执行 ./nginx -s stop
重新加载命令: 在/usr/local/nginx/sbin 目录下执行 ./nginx -s reload
2.设置 nginx 为自启动服务
修改 linux 启动脚本/etc/rc.d/rc
加入 :/usr/local/nginx/sbin/nginx
3.进入nginx首页
1.放行nginx端口
在/usr/local/nginx/conf/nginx.conf查看
listen 后面的数字就是端口号
vim /etc/sysconfig/iptables
把包含22 的一行复制,把22转换成端口号
重启服务service iptables restart
2.在购买服务器的地方放开nginx的端口
3.在浏览器输入IP地址:端口号就可以了
配置实例一 :反向代理
1.在本地HOSTS文件配置域名和IP的对应关系
在Windows/System32/drivers/etc/HOSTS文件中(如果没有的话,新建一个就可以,不要写后缀,文件中写上这一行)
增加一行IP地址+空格+域名的命令,保存退出即可
2.在nginx中进行请求转发的设置(反向代理)
在/usr/local/nginx/conf/nginx.conf中进行配置
把这个地方的localhost改成自己的IP地址
然后在
location中加上一条proxy_pass http:需要跳转的地址;的命令
3.最终测试
启动nginx,在浏览器输入在HOSTS配置的域名进行测试
反向代理案例二
实现的效果
使用nginx反向代理,根据访问的路径跳转到不同端口的服务中,nginx监听的端口为9001
访问IP地址:9001/edu/跳转到 地址:8080
访问IP地址:9001/vod/跳转到 地址:8081
准备工作:
(1)准备两个tomcat服务器,一个是8080端口,一个是8081端口
(2)在src下面新建两个文件夹放tomcat
(3)停掉以前的tomcat
ps -ef | grep tomcat
找到进程
然后用kill -9 红箭头所指的数字
就可以停掉这个tomcat
(4)在两个文件夹中解压tomcat压缩包,并进入bin目录下启动tomcat服务器
(5)修改第二个服务器的端口号,在tomcat目录下conf下的server.xml中
(6)找到如图下的页面,左边箭头所指修改成根第一个不一样的,比如8015
(7)把下图的8080,改成8081
(8)把下图8009改成和第一个不一样的比如8019
(9)保存退出
(10)重启这个tomcat
(11)#vi /etc/profile //末尾添加
TOMCAT_HOME_1=/usr/local/tomcat6.0_1
CATALINA_HOME_1=/usr/local/tomcat6.0_1
CATLINA_BASE_1=/usr/local/tomcat6.0_1
export TOMCAT_HOME_1CATALINA_HOME_1 CATALINA_BASH_1
#source /etc/profile//重载配置文件使之立即生效
这个tomcat更改的端口放行,在/etc/sysconfig/iptables中更改
(12)去购买服务器的官网放行该端口
apache-tomcat-9.0.27