Nginx安装及分流多个web服务
Ngnix安装及常用配置
一、安装Nginx
1.检查依赖
yum install gcc-c++
yum install -y pcre pcre-devel
yum install -y zlib zlib-devel
2.下载
(官网下载地址https://nginx.org/en/download.html)
wget https://nginx.org/download/nginx-1.8.1.tar.gz
3.安装
tar -zxvf nginx-1.8.1.tar.gz
cd nginx-1.8.1
./configure
make && make install
启动
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
二、进行配置
修改完nginx.conf后,如果启动报错,执行 nginx -t 进行查看配置文件是否有问题
1.配置
安装完nginx后,修改相应的nginx.conf文件
sudo vi /usr/local/nginx/conf/nginx.conf
修改为:
user www-data;
worker_processes auto;
pid /run/nginx.pid;
events {
worker_connections 1024; #单个后台进程的最大并发链接数
}
http {
#设置访问的web应用列表
upstream VideoSecuritySystem{
server 192.168.0.156:8080; #!!!!!!!!!!!!!!修改为自己的路径
}
upstream one{
server 192.168.0.156:8080; #!!!!!!!!!!!!!!!修改为自己的路径
}
upstream two{
server 192.168.0.156:8081; #!!!!!!!!!!!!!!!修改为自己的路径
}
#HTTP服务器
server {
listen 80;
server_name 192.168.0.156;#!!!!!!修改!!!!可以是域名,前提是tomcat配置过,否则无法获取请求
index index.jsp
root /home/chx/allSoftCert/apache-tomcat-8.5.38/webapps/VideoSecuritySystem; #!!!!!!!修改为自己设置的根目录
charset utf-8;
proxy_connect_timeout 180;
proxy_send_timeout 180
proxy_read_timeout 180;
proxy_set_header Host $host;
proxy_set_header X-Forwarder-For $remote_addr;
location / {
proxy_pass http://VideoSecuritySystem; #默认的展示服务
}
location /one/{
proxy_pass http://one; #!!!!!!!!!!修改为自己的upstream
}
location /two/ {
proxy_pass http://two; #!!!!!!!!!!修改为自己的upstream
}
}
}
2.验证
linux下放置了两份tomcat,一个端口8080,一个端口8081,通过nginx反向代理,不用输入端口号进行访问。
三、额外补充篇:
如果需要支持rtmp,进行如下配置:
./configure --add-module=/home/soft/nginx-rtmp-module-master --with-http_ssl_module
如果提示缺少openssl library ,执行
yum install openssl openssl-devel -y
make && make install
然后创建文件
mkdir /home/soft/video
在 /usr/local/nginx/conf/nginx.conf里加入
rtmp {
server {
listen 11111;
chunk_size 4000;
application video {
live on;
max_connections 1024;
}
application hls {
live on;
hls on;
hls_path /home/soft/video/hls;
hls_fragment 10s;
}
}
}
在server里加入
location /hls {
types{
application/vnd.apple.mpegurl m3u8;
video/mp2t ts;
}
root /home/soft/video;
add_header Cache-Control no-cache;
add_header Access-Control-Allow-Origin *;
}
四、知识总结
简介:Nginx同Apache一样都是一种WEB服务器,Apache对于高并发高访问的支持并不是很好,Nginx是一款用c语言编写的可支持百万级别TCP连接的服务器。
作用:
1.HTTP服务器和反向代理服务器。
2.同时也是一个IMAP、POP3、SMTP代理服务器。
3.Nginx可以作为一个HTTP服务器进行网站的发布处理,另外Nginx可以作为反向代理进行负载均衡的实现。
原理:
正向代理(不明确是哪个客户端进行访问):
正向代理最大的特点是客户端非常明确要访问的服务器地址,用户通过访问代理服务器访问国外网站,服务器只清楚请求来自哪个代理服务器,而不清楚来自哪个具体的客户端。
正向代理模式屏蔽或者隐藏了真实客户端信息。
反向代理(不明确是哪台服务器进行处理):多个客户端给服务器发送的请求,Nginx服务器接收到之后,按照一定的规则分发给了后端的业务处理服务器进行处理。
请求的来源是明确的,但是请求具体由哪台服务器处理的并不明确了,Nginx扮演的就是一个反向代理角色。
使用:
Ngnix + Tomcat + Java
Nginx安装及分流多个web服务的更多相关文章
- Nginx 学习笔记(二)Web 服务启用 HTTP/2
个人网站提升为HTTP2.0协议,加速访问 一.条件 1.openssl的版本必须在1.0.2e及以上 2.nginx的版本必须在1.9.5以上 二.编译安装 1.openssl 编译安装 (1)开始 ...
- Dynamics AX 2012 R2 安装 AIF IIS上的Web服务
1.为什么使用IIS上的WEB服务 组件? 如果你要在Dynamics AX Service中使用HTTP Adapter,那么你就要安装IIS上的WEB服务 组件.HTTP Adapter会在IIS ...
- Nginx 在Windows下搭建静态Web服务
简介 nginx [engine x] is an HTTP and reverse proxy server, a mail proxy server, and a generic TCP/UDP ...
- nginx实践(一)之静态资源web服务
静态资源服务场景CDN 配置语法-文件读取(nginx优势之一sendfile) 配置语法-tcp_nopush 简单的说就是把多个包合并,一次传输给客户端 配置语法-tap_nodelay 配置语法 ...
- nginx实战(三)之静态资源web服务(跨站访问)
语法 虽然说浏览器禁止跨站访问以防(CSRF),但出于一些原因还是要进行跨站访问,服务端通过设置头信息Access-Control-Allow-Orign:xxxx,客户端收到后就会允许跨站访问了 实 ...
- nginx实践(四)之静态资源web服务(防盗链)
防盗链目的 防止资源被盗用 http_refer 主要是判断refer信息,判断请求来源是不是合法身份 语法 实例 参数说明: none表示允许没有代理的头信息过来,blocked表示refer信息不 ...
- nginx实践(二)之静态资源web服务(浏览器缓存场景)
配置语法-expires
- web服务之nginx部署
本期内容概要 了解web服务 Nginx和Apache的对比 部署Nginx 内容详细 1.什么是web服务 Web服务是一种服务导向架构的技术,通过标准的Web协议提供服务,目的是保证不同平台的应用 ...
- Nginx 安装与详解
nginx简介 nginx是一个开源的,支持高性能,高并发的www服务和代理服务软件.它是一个俄罗斯人lgor sysoev开发的,作者将源代码开源出来供全球使用.nginx比它大哥apache性能改 ...
随机推荐
- 2 USB标准请求
2 USB标准设备请求的结构 2.1 标准请求 bmRequestType 的D6~D5为00的请求,USB协议定义了11个标准请求(bRequest),其名字与相应的bRequest的值如下表: 表 ...
- 解决 html5 input type='number' 类型可以输入e
当给 input 设置类型为 number 时,比如,我想限制,只能输入 0-9 的正整数,正则表达式如下: /^[-]?$/ // 匹配 0-9 的整数且只匹配 0 次或 1 次 用正则测试,小数点 ...
- .net 委托 +lamda表达式
1.委托与类同级 想当于定义了一个类型 如 delegate int Sum(int a, int b);// 在声明类之前声明 2.这里可以在类里写个函数 public int sumAB(int ...
- git 和github简介
关于github不清楚的可以百度, 在这里,可以创建一个新的仓库 点击Create repository后会出现下面这些信息,其中第一块是仓库的url链接 第二块是你在本地目录中创建一个READEME ...
- nginx防DDOS、cc、爬虫攻击
一.防止DDOS.CC攻击 http { limit_conn_zone $binary_remote_addr zone=perip:10m; limit_conn_zone $server_nam ...
- TOP和PS aux命令显示出来的栏目所代表的意思
USER: 行程拥有者 PID: pid %CPU: 占用的 CPU 使用率 %MEM: 占用的记忆体使用率 VSZ: 占用的虚拟记忆体大小 RSS: 占用的记忆体大小 TTY: 终端的次要装置号码 ...
- linux 7下已有mysql之后,如何使用
今天在使用阿里云平台的esc时,选择的centos7系统,在安装mariadb的时候,发现系统已经自带了,然后却无法使用,在调查了之后,发现启动service的依赖件没有安装,所以安装以下依赖件. m ...
- 固定Linux虚拟IP地址
由于我的开发环境是在VMWare虚拟机里安装Centos,然后在host文件中设置拦截,这样就可以直接跳转虚拟机的CentOS,但是虚拟机的IP地址总是会变,就要随时修改host文件,很麻烦.决定虚拟 ...
- redis安装到本地服务的方法
要安装Redis,首先要获取安装包. Windows的Redis安装包需要到以下GitHub链接找到. 链接:https://github.com/MSOpenTech/redis 打开网站后,找到R ...
- Linux service,挂载,定时任务等常用服务
一.防火墙 防火墙根据配置文件/etc/sysconfig/iptables 来控制本机的“出.入”网络访问行为 其对行为的配置策略有四个策 1. 基础必备技能 查看防火墙状态 s ...