Linux安装Nginx及使用
原文地址:原文地址
一:安装nginx
第一步:安装pcre
wget http://downloads.sourceforge.net/project/pcre/pcre/8.37/pcre-8.37.tar.gz
解压文件
tar –xvf pcre-8.37.tar.gz
解压之后进行编译
./configure
完成后,回到 pcre 目录下执行 make
再执行 make install
第二步:安装所需其他依赖
安装openss,zlib,gcc依赖,
yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel
第三步:安装nginx
这里博主选择的时下载安装包,安装
nginx官网下载:nginx.org
下载后上传到服务器,并且进行解压
tar -zxvf 压缩包名称
解压后进入nginx目录进行编译
./configure
然后进行安装
make && make install
第四步:测试
进入目录usr/local/nginx/sbin/启动服务
cd /usr/local/nginx/sbin/
./nginx
在这里注意,如果使用的自己电脑配置的linux虚拟机,记得关闭防火墙,或者开放80端口
如果使用的时阿里的ecs服务器,记得开放安全组80
防火墙的操作会在文末指出
启动成功后,输入公网地址,会出现nginx的错误界面,证明配置正确
二:Nginx的常用命令
(1)启动命令
在/usr/local/nginx/sbin 目录下执行 ./nginx
(2)关闭命令
在/usr/local/nginx/sbin 目录下执行 ./nginx -s stop
(3)重新加载命令
在/usr/local/nginx/sbin 目录下执行 ./nginx -s reload
三:Nginx的配置文件
1.nginx的配置文件位置
cd /usr/local/nginx/conf/nginx.conf
包含三部分内容
全局块:配置服务器整体运行的配置指令
比如worker_processes处理并发数的配置
2.events块:影响Nginx服务器与用户的网络连接
比如worker_connections1024;支持的最大连接数为1024
3.http
还包含两部分:
http全局块
server块
四:Nginx配置反向代理实例
实现效果(前提已经拥有备案好的域名),比如你的项目是8080端口,但是域名的默认地址访问的是80端口,要实现在浏览器中输入域名就可以访问你的项目。
准备工作:
在linux系统中安装tomcat,默认为8080端口
对外开放8080端口,如果是阿里云服务器,需要配置安全组。
firewall-cmd --add-port=8080/tcp --permanent firewall-cmd-reload
查看已经开放的端口
firewall-cmd --list-all
操作完成后在windows中访问tomcat(输入你的公网地址:tomcat端口号)
效果图:
访问过程分析:
具体配置:
第一步:打开nginx配置文件(/usr/local/nginx/conf)nginx.conf
反向代理配置
第二步:最终测试
五:Nginx配置负载均衡实例
实现需求:在浏览器中输入项目地址,实现负载均衡效果,平均分配到8080和8081端口
准备工作:两个tomcat容器,一个8080,一个8081
准备工作完成之后,在Nginx配置文件中进行负载均衡配置
六:Nginx分配服务器策略
第一种:轮询(默认)
每个请求按时间逐一分配到不同的后端服务器,如果后端服务器down掉,会自动剔除
第二种:weight(权重)
weight代表权重,默认为1,权重越大,分配的用户越多
第三种:ip_hash
每个请求按照ip的hash进行分配,这样每个访客固定访问一个后端
第四种:fair(第三方)
按后端的访问时间进行分配,响应时间短的优先分配。
七:Nginx配置动静分离
提问:什么是动静分离??
通过location指定不同的后缀名实现不同的请求转发。通过expires参数设置,可以使浏览器缓存过期时间,减少与服务器之前的请求和流量。具体 Expires定义:是给一个资源设定一个过期时间,也就是说无需去服务端验证,直接通过浏览器自身确认是否过期即可,所以不会产生额外的流量。此种方法非常适合不经常变动的资源。(如果经常更新的文件,不建议使用 Expires来缓存),我这里设置3d,表示在这3天之内访问这个URL,发送一个请求,比对服务器该文件最后更新时间没有变化,则不会从服务器抓取,返回状态码304,如果有修改,则直接从服务器重新下载,返回状态码200。
准备工作:在linux中准备静态资源文件,用于进行访问
具体配置:
-
在nginx配置文件中配置:
-
在浏览器中测试访问