Nginx从安装到简单使用
一.什么是Nginx:
Nginx是一个高性能的HTTP和反向代理服务,也是一个IMAP/POP3/SMTP服务。
二.Nginx作用:
反向代理,集群,虚拟服务器,负载均衡,动静分离,解决跨域问题等
三.安装Nginx:
1.链接 https://nginx.org/en/download.html,如下
2.linux和windows版本下载完后解压(windows版本解压即可)
以linux为例,解压后得到
3.进入文件夹后可以看到目录
4.执行
./configure
5.如果出现错误如下,则
(1)安装编译工具及库文件
yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel
(2)安装PCRE,链接https://sourceforge.net/projects/pcre/files/pcre/
下载PRCE安装包并解压,例如下图
进入解压后的文件夹,找到configure并执行
cd prce-8.43.tar.gz
./configure
安装并查看prce版本
make && make install
pcre-config --version
6.再次进入nginx-1.14.2文件夹,执行
./configure --prefix=/usr/local/webserver/nginx --with-http_stub_status_module --with-http_ssl_module --with-pcre=/usr/local/src/pcre-8.43
7.再执行make(注意上面那行代码,这里默认会去找/usr/local/src/ 下的prce-8.43文件夹),然后make install完成安装。
8.查看nginx版本(上面指定的目录)
/usr/local/webserver/nginx/sbin/nginx -v
例如
9.启动nginx,进入第6步中--prefix所指定的文件夹中,再进入sbin文价夹中,执行./nginx
(在nginx文件夹中重启是./nginx -s reopen)
10.查看nginx是否启动,例如
nginx默认端口是80,所以直接访问ip地址,例如下图所示,即可知nginx启动成功
四.使用Nginx
1.静态资源文件夹里的文件可以直接在外部访问,例如
2.实现反向代理(可以不暴露真实IP地址)
修改nginx.conf配置文件
注意:上面那个箭头指向的地址,必须在主机hosts文件中设置地址映射(域名解析),如下图
重新加载配置文件
./nginx -s reload
测试:
如果反向代理没有成功,可以查看log日志,找到并进入logs文件夹,输入
cat error.log
例如下图
如果发现正常启动成功,却没有成功配置反向代理。可以看看是否是自己修改了正确的配置文件(注意,nginx解压后的conf文件夹中有一个配置文件,而nginx启动目录下的文件夹中有一个nginx.conf配置文件,还有一个nginx.conf.default配置文件,可以试着将三个配置文件都修改试试,如果是按照上面安装步骤,应该是只修改的是/usr/local/webserver/nginx/conf中的nginx.conf)
3.实现集群(使用nginx实现负载均衡)
负载均衡算法:
轮询机制:在配置文件http中添加 (请求会轮流转发到129和130两个服务器的tomcat服务器)
upstream backserver {
server 192.168.2.129:8080;
server 192.168.2.130:8080;
}
注意:proxy_pass指向的是backserver ,如http://backserver
权重(比例分配):
upstream backserver {
server 192.168.2.129:8080 weight=10; //129访问10次,130访问一次
server 192.168.2.130:8080 weight=1;
}
IP绑定:(随机绑定一个,而且绑定后一个ip地址就固定访问一个服务器了,可以解决session共享问题,可一旦该服务器挂了,会出现数据丢失)
upstream backserver {
ip_hash;
server 192.168.2.129:8080;
server 192.168.2.130:8080;
}
4.Nginx宕机容错机制
通过上述安装的Nginx默认是开启宕机容错机制的,比如说上面集群中server 192.168.2.129:8080挂掉,它会自动找130的服务器
如果想要添加宕机容错规则的话,可以在配置文件中的proxy_pass下面添加
proxy_connect_timeout ; #最大连接时间
proxy_send_timeout ; #最大发送时间
proxy_read_timeout ; #最大读取时间
Nginx从安装到简单使用的更多相关文章
- nginx的安装及简单负载均衡配置
Nginx 是一个很强大的高性能Web和反向代理服务器,它具有很多非常优越的特性.本人目前所在公司也使用nginx,主要用来做负载均衡服务器.同时也可以作为邮件代理服务器. 1. nginx的安装.本 ...
- Nginx的安装及简单配置
Nginx安装 1.下载相关组件 yum install -y gcc gcc-c++ #安装C/C++编译器 yum -y ins ...
- nginx 编译安装以及简单配置
前言 Nginx的大名如雷贯耳,资料太多了,网上一搜一大把,所以这里就不阐述nginx的工作原理了,只是简单的编译安装nginx,然后呢,简单配置一下下. 下载Nginx.安装 下载地址:http:/ ...
- ECS centos6.8系统下从nginx安装到简单网站上线配置操作的完整记录
1.准备工作 1.1已购买阿里云云服务器ECS 1.2域名已购买并解析成功 1.3安装有远程链接工具Xshell和文件传输工具Xftf,并链接上ECS实例 2.安装nginx(在Xshell操作) 2 ...
- Nginx + ngx_lua安装测试【CentOs下】
最近打算搞搞nginx,扒着各位先驱的文章自己进行测试下,中间过程也是错误不断,记录一下,以备使用. nginx的安装挺简单的,主要还是研究下一些第三方的模块,首先想试下初始化 ...
- 快速掌握Nginx(一) —— 安装Nginx和简单配置虚拟主机
Nginx安装和简单配置虚拟主机 1 Nginx简介 Nginx是近几年最火热的http.反向代理服务器,百度阿里等互联网公司也都在使用Nginx,它也可以用作邮件代理服务器.TCP/UDP代理服务器 ...
- nginx之旅:安装及简单部署
安装之前最好了解一下nginx,参考nginx百度百科吧,下面这一句话基本概括了nginx的基本功能 Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 ...
- Nginx在linux下安装及简单命令
安装环境:Centos7 创建目录及切换至目录 # mkdir /usr/local/nginx # cd /usr/local/nginx/ 下载nginx包,访问http://nginx.org下 ...
- nginx的安装
1,,nginx的安装 为什么使用nginx我就不多说了,很优秀的,请再行google 在安装前,先安装pcre,安装zlib,安装openssl,以及一些其他包 yum install -y gcc ...
随机推荐
- Golang 项目 GOPATH 总结
查看GOPATH go env 项目里执行:go get github/winyh/XXX 命令时, 包会下载到 GOPATH第一个目录下的src文件夹 项目里引入依赖的时候会自动到GOPATH里 ...
- eclipse spring3.X redis 整合-配置
花了一天时间折腾redis的配置 用到的jar spring 3.1.1 aopalliance-1.0.jar commons-pool2-2.3.jar jedis-2.7.2.jar sprin ...
- Java中将一个反斜杠转换成两个反斜杠
代码示例: s = s.replaceAll("\\\\", "\\\\\\\\");
- jquery iframe取得元素与自适应高度
总结一下iframe在jquery中怎么操作的,下面我来给各位介绍jquery 获取iframe子/父页面的元素及iframe在jquery高度自适应实现方法,各位朋友可参考. jquery方法: 在 ...
- iOS面试-assign与retain
assign 对基础数据类型 (NSInteger,CGFloat)和C数据类型(int, float, double, char)等等. 此标记说明设置器直接进行赋值,这也是默认值.在 ...
- Golang 异常/日志处理
1.xerrors 异常 xerrors 包是一个非常棒的设计,不同于往常语言如java/php,因为go的errors只是一个string类型的映射,所以内存占用空间很少.这在golang的核心库和 ...
- leetcode1277 Count Square Submatrices with All Ones
思路: 使用动态规划,dp[i][j]表示以(i, j)作为右下角的最大的全1矩阵的边长. 实现: class Solution { public: int countSquares(vector&l ...
- ML.Net Model Builder
ML.Net Model Builder ML.NET技术研究系列1-入门篇 近期团队在研究机器学习,希望通过机器学习实现补丁发布评估,系统异常检测.业务场景归纳一下: 收集整理数据(发布相关的异 ...
- 第一周-----基本数据类型(primitive data type)
- 原生JS+ CSS3创建loading加载动画;
效果图: js创建loading show = function(){ //loading dom元素 var Div = document.createElement("div" ...