Nginx
Posted ddqy
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Nginx相关的知识,希望对你有一定的参考价值。
1. 什么是nginx?
Nginx("engine x")是一款是由俄罗斯的程序设计师Igor Sysoev所开发高性能的 Web和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器。
在高连接并发的情况下,Nginx是Apache服务器不错的替代品。
2. 代理服务器
作为邮件代理服务:Nginx 同时也是一个非常优秀的邮件代理服务(最早开发这个产品的目的之一也是作为邮件代理服务器),Last.fm 描述了成功并且美妙的使用经验。
Nginx 是一个安装非常的简单、配置文件非常简洁(还能够支持perl语法)、Bug非常少的服务。Nginx 启动特别容易,并且几乎可以做到7*24不间断运行,即使运行数个月也不需要重新启动。你还能够不间断服务的情况下进行软件版本的升级。
代理服务器的作用就是将客户端的 HTTP 请求提交到真实服务器,得到响应后再返还给客户端(所谓代理就是第三方的介入)
2.1 正向代理
隐藏了真实的请求客户端,服务端不知道真实的客户端是谁,客户端请求的服务都由代理服务器代替来请求
总结一下,用最简单粗暴的说法:「正向代理」指一对一或多对一,Server 不知道请求的 Client 都是哪些人。
2.2 反向代理
客户端---http--->代理服务器----->未知服务器(由代理服务器自动挑选一台资源服务器<可能是一个“集群”>获取用户请求所需的资源,在这个过程中能很好的体现出负载均衡的作用)
反向代理隐藏了真实的服务端,当我们请求 http://www.baidu.com 的时候,就像拨打 QQ 客服热线一样,背后可能有成千上万台服务器为我们服务,但具体是哪一台,你不知道,也不需要知道,你只需要知道反向代理服务器是谁就好了,http://www.baidu.com 就是我们的反向代理服务器,反向代理服务器会帮我们把请求转发到真实的服务器那里去。
两者的区别在于代理的对象不一样:正向代理代理的对象是客户端,反向代理代理的对象是服务端。
3. 安装Nginx
1. 官网下载相应nginx版本tar包
2. 使用xftp上传到linux
3. 解压tar包
4. 安装所需依赖
- yum -y install pcre-devel
- yum -y install zlib zlib-devel
- yum -y install openssl openssl-devel
- yum -y install gcc gcc-c++ autoconf automake make 安装c++编译环境
5. 进入解压开的nginx-1.16.1文件夹找到 configure 执行
6. 然后执行make( nginx是一个完全由C语言编写的程序
make命令是将文件编译就想java的javac一样)
7. 在执行make install(make install这个命令是将nginx安装)
安装好后可以在./usr/local/目录下发现一个nginx的文件夹.
这个就是安装好后的nginx。安装好后目录结构如下
4. 启动nginx
在使用nginx前有几个注意点
1. Nginx用的是80端口 , 把端口对外开放
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --reload
2. 启动:安装好的nginx目录中有一个sbin,里面是一个nginx(可执行文件执行(./nginx)
3. 启动后直接在网页输入本机ip即可访问 页面如下
4.
Nginx常用命令
/usr/local/nginx/sbin/nginx # 启动nginx
/usr/local/nginx/sbin/nginx -s
reload # 重新载入配置文件
/usr/local/nginx/sbin/nginx -s
reopen # 重启 Nginx
/usr/local/nginx/sbin/nginx -s stop # 停止 Nginx
/usr/local/nginx/sbin/nginx -t #检查配置文件是否正确
5. 修改nginx.conf配置文件实现反向代理
文件在: /usr/local/nginx/conf/nginx.conf是核心配置文件
1. 修改windows系统目录中的hosts文件,ip为虚拟机里面的地址
地址:C:WindowsSystem32driversetchosts
2. 在http块中添加upstream块
tomcat是安装在本机ip地址127.0.0.1即是在别的服务器者需要修改ip
upstream tomcat_server{
server 127.0.0.1:8080;
}
3.
修改server块
server_name
it.nginx.com; #自定义访问域名
root /home/nginx/tomcat_data/; #静态文件存放路径
index index.html; #定义首页
4.
修改server下的location块
proxy_pass http://tomcat_server; #映射对应upstream
proxy _set_header X-Real-P $remote_addr; #映射nginx真实ip
proxy_set_header Host $Host;
/usr/local/nginx/sbin/nginx -t(出现以下日志则可以重启nginx了)
6. /usr/local/nginx/sbin/nginx -s reload修改了配置,重启配置.再访问it.nginx.com
1. 什么是Nginx?
Nginx("engine x")是一款是由俄罗斯的程序设计师Igor Sysoev所开发高性能的 Web和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器。
在高连接并发的情况下,Nginx是Apache服务器不错的替代品。
2. 代理服务器
作为邮件代理服务:Nginx 同时也是一个非常优秀的邮件代理服务(最早开发这个产品的目的之一也是作为邮件代理服务器),Last.fm 描述了成功并且美妙的使用经验。
Nginx 是一个安装非常的简单、配置文件非常简洁(还能够支持perl语法)、Bug非常少的服务。Nginx 启动特别容易,并且几乎可以做到7*24不间断运行,即使运行数个月也不需要重新启动。你还能够不间断服务的情况下进行软件版本的升级。
代理服务器的作用就是将客户端的 HTTP 请求提交到真实服务器,得到响应后再返还给客户端(所谓代理就是第三方的介入)
2.1 正向代理
客户端---http--->代理服务器----->真实服务器(返回结果)
隐藏了真实的请求客户端,服务端不知道真实的客户端是谁,客户端请求的服务都由代理服务器代替来请求
总结一下,用最简单粗暴的说法:「正向代理」指一对一或多对一,Server 不知道请求的 Client 都是哪些人。
2.2 反向代理
客户端---http--->代理服务器----->未知服务器(由代理服务器自动挑选一台资源服务器<可能是一个“集群”>获取用户请求所需的资源,在这个过程中能很好的体现出负载均衡的作用)
反向代理隐藏了真实的服务端,当我们请求 http://www.baidu.com 的时候,就像拨打 QQ 客服热线一样,背后可能有成千上万台服务器为我们服务,但具体是哪一台,你不知道,也不需要知道,你只需要知道反向代理服务器是谁就好了,http://www.baidu.com 就是我们的反向代理服务器,反向代理服务器会帮我们把请求转发到真实的服务器那里去。
两者的区别在于代理的对象不一样:正向代理代理的对象是客户端,反向代理代理的对象是服务端。
3. 安装Nginx
1. 官网下载相应nginx版本tar包
2. 使用xftp上传到linux
3. 解压tar包
4. 安装所需依赖
- yum -y install zlib zlib-devel
- yum -y install openssl openssl-devel
- yum -y install gcc gcc-c++ autoconf automake make 安装c++编译环境
5. 进入解压开的nginx-1.16.1文件夹找到 configure 执行
6. 然后执行make( nginx是一个完全由C语言编写的程序
make命令是将文件编译就想java的javac一样)
7. 在执行make install(make install这个命令是将nginx安装)
安装好后可以在./usr/local/目录下发现一个nginx的文件夹.
这个就是安装好后的nginx。安装好后目录结构如下
4. 启动nginx
在使用nginx前有几个注意点
1. Nginx用的是80端口 , 把端口对外开放
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --reload
2. 启动:安装好的nginx目录中有一个sbin,里面是一个nginx(可执行文件执行(./nginx)
3. 启动后直接在网页输入本机ip即可访问 页面如下
4.
Nginx常用命令
/usr/local/nginx/sbin/nginx # 启动nginx
/usr/local/nginx/sbin/nginx -s
reload # 重新载入配置文件
/usr/local/nginx/sbin/nginx -s
reopen # 重启 Nginx
/usr/local/nginx/sbin/nginx -s stop # 停止 Nginx
/usr/local/nginx/sbin/nginx -t #检查配置文件是否正确
5. 修改nginx.conf配置文件实现反向代理
文件在: /usr/local/nginx/conf/nginx.conf是核心配置文件
1. 修改windows系统目录中的hosts文件,ip为虚拟机里面的地址
地址:C:WindowsSystem32driversetchosts
2. 在http块中添加upstream块
tomcat是安装在本机ip地址127.0.0.1即是在别的服务器者需要修改ip
upstream tomcat_server{
server 127.0.0.1:8080;
}
3.
修改server块
server_name
it.nginx.com; #自定义访问域名
root /home/nginx/tomcat_data/; #静态文件存放路径
index index.html; #定义首页
4.
修改server下的location块
proxy_pass http://tomcat_server; #映射对应upstream
proxy_set_header X-Real-IP $remote_addr; #映射nginx真实ip
proxy_set_header Host $Host;
1
/usr/local/nginx/sbin/nginx -t(出现以下日志则可以重启nginx了)
6. /usr/local/nginx/sbin/nginx -s reload修改了配置,重启配置.再访问it.nginx.com
以上是关于Nginx的主要内容,如果未能解决你的问题,请参考以下文章