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 ...
随机推荐
- [Paper翻译]Scalable Lock-Free Dynamic Memory Allocation
原文: http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.87.3870&rep=rep1&type=pdf Abstr ...
- Harbor 1.8.0 仓库的安装和使用
安装的先决条件 硬件环境 1.CPU 至少2G,最好4G 2.内存 至少4G,最好8G 3.磁盘 至少40G,最好160G 软件环境 1.docker版本 17.03.0-ce ...
- Tools - Tcpdump
Tcpdump homepage - tcpdump wiki - tcpdump 常用格式 tcpdump -i eth<网卡号> port <端口号> -s0 -w < ...
- Azure DevOps的variable group实现array和hashtable参数的传递
Azure Devops中的variable group建议或者只能(?)添加string类型的value.基于此我们想在variable group实现array或者hashtable的传递的核心思 ...
- Git操作记录、腾讯工蜂
腾讯工蜂: http://git.code.tencent.com 登录-->>创建项目-->>获取仓库路径 https://git.code.tencent.com/dang ...
- Linux基础重点习题讲解
第一章 一个EXT4的文件分区,当时使用touch test.file命令创建一个新文件时报错,报错的信息是提示磁盘已满,但是采用df-h命令查看磁盘大小时,只使用了60%的磁盘空间,为什么会出现这 ...
- for i in range()
for i in range()就是python中的循环语句 有以下三种常见用法: 1.range(3) [0,3)即0,1,2 2.range(1,3) [1,3)即1,2 3.range(1,5, ...
- EF-初识
什么是ORM 起源随着编程的发展,程序里都是面向对象啥的,但是数据库发展呢 网状数据库 ->层次数据库 ->关系数据库(当然还有nosql数据库 我们只是做热数据缓存 后面将会讲到) ...
- java.lang.reflect.InvocationTargetException at shade.com.datastax.spark.connector.google.common.base.Throwables.propagate(Throwables.java160)
org.apache.spark.SparkException: Job aborted due to stage failure: Task 1 in stage 29.1 failed 4 tim ...
- php去掉字符串中的最后一个字符和汉字
###php去掉字符串中的最后一个字符和汉字 1.php去掉字符串中的最后一个字符: //方法一: $newstr = substr($str,0,strlen($str)-1); //方法二: $n ...