首页 > 系统相关 >Nginx初步-环境搭建

Nginx初步-环境搭建

时间:2022-11-24 19:41:53浏览次数:41  
标签:nginx 初步 Nginx html jsp usr local 搭建


Nginx的安装

1、weget下载:http://nginx.org/download/nginx-1.6.2.tar.gz

2、进行安装:tar -zxvf nginx-1.6.2.tar.gz

3、下载所需要的依赖库文件

   yum install pcre、yum install pcre-devel

  yum install zlib 、yum install zlib-devel

4、进行configure配置: cd nginx-1.6.2 && ./configure --prefix=/usr/local/nginx看是否报错

5、编译安装make&& make install

6、启动nginx

  cd /usr/local/nginx/目录下:

   conf:配置文件

   html:网页文件

   logs:日志文件

   sbin:主要二进制程序

启动命令:/usr/local/nginx/sbin/nginx 

重启:/usr/local/nginx/sbin/nginx -s reload

停止:/usr/local/nginx/sbin/nginx -s stop

7、成功:查看是否启动netstat -ano|grep 80 失败:可能是80端口被占用

  浏览器访问地址:http://192.168.43.126:80-->即可看到nginx的欢迎界面

cd nginx-1.6.2 && ./configure --prefix=/usr/local/nginx

 Nginx配置文件说明

Nginx的虚拟主机配置

#虚拟主机配置

server{
listen:1234; #设置nginx的端口号
server_name bhz.com; #设置服务器别名
location /{
root bhz.com; #这是nginx的根目录
index index.html; #设置根目录中的界面
}
}

负载均衡策略

1、使用硬件复杂均衡策略实现,如使用F5、Array等负载均衡器

2、使用软件进行负载均衡。

  如使用阿里云服务器负载均衡SLB

  如使用Keepalived+Nginx

  其他软件负载均衡如LVS(Linux Virtual Server)、haproxy等技术

Nginx优点

Nginx是一个很强大的高性能web和反向代理服务器。能够

keepalive_timeout 65;
#gzip on;
server{
listen 80;
server_name localhost;
#charset utf-8;
#access_log logs/host.access.log main;
location /{
root html;
index index.html index.htm
}
error_page 500 502 503 504 /50x.html;
location =/50x.html{
root html;
}
}

负载均衡服务器;在高并发的情况下,Nginx是Apache服务器不错的代理产品:Nginx能够支持高达50000个并发连接数的响应。

Nginx的使用

Nginx初步-环境搭建_负载均衡

nginx启动后,使用命令

  ps -ef | grep nginx

则可以看到有master进程已启动,worker进程已启动,当然也可以看到他们的端口号;

停止命令后:/usr/local/nginx/sbin/nginx -s stop

则没有进程启动

Nginx初步-环境搭建_负载均衡_02

重启nginx服务器:ps -ef | grep  nginx -s reload

C:\Windows\System32\drivers\etc,在该目录下编辑hosts文件

新加

192.168.1.114 bhz.com

192.168.1.171 www.bhz.com

192.168.1.174 www.bhz.com

编辑linux的hosts文件

vim /etc/hosts

192.168.1.114 bhz.com

这样重启nginx后即可在windows物理机上访问 bhz.com:1234.com

Nginx的日志文件详解

nginx访问的日志文件放在logs/host.access.log下,并且使用main格式(当然也可以自定义格式)

对于main格式如下定义:

  #日志文件输出格式 这个位置相当于全局设置

 #log_format main '$remote_addr-$remote_user[$time_local]"$request"'

 # ‘$staus $body_bytes_sent "$http_referer"’

# ' "$http_user_agent" "$http_x_forward_for" ';

#查看日志内容命令 :tail -n 100 -f nginx/logs/access.log

对Nginx的日志分析很重要,通常需要运维去对nginx的日志进行切割处理。比如实现一个定时任务,去处理nginx日志等。

第一步:分析如何去实现日志切分,编写shell脚本

第二步:定时任务对脚本进行调度: crontab -e

*/1****sh /usr/local/nginx/sbin/log.sh

Nginx初步-环境搭建_nginx_03

把shell 脚本放到/skin下面;

根路径:/usr/local/nginx

日志名称: bhz.com.access.log

当前路径: /usr/local/nginx/logs

要备份到的路径:/usr/local/nginx/datalogs文件夹下

当前logs的文件路径:

Baktime:备份时间—备份昨天的日志

Bakfile:

Nginx初步-环境搭建_负载均衡_04

crontab -e

Wq保存后

每一分钟执行一次

Nginx日志文件配置详解

location语法:表示uri方式定位

基础语法有三种:

  location= pattern{} 精准匹配

  location pattern{} 一般配置

  location ~pattern{} 正则匹配

Nginx语法

  if(条件为: = ~ ~*)、return 、break、rewrite  ~*表示忽略大小写

-f 是否为条件、-d是否为目录、-e是否存在

nginx可以对数据进行压缩,对一些图片、html、css、js等文件进行缓存、从而实现动静分离等优化功能。

if($remote_addr=192.168.1.114) {return 401}; 是禁止该物理机ip

if($http_user_agent ~* firefox){rewrite ^.*$/firefox.html ; break;}

查看浏览器类型 如果没有break,则报404错误;

可以在err.log中查看报错信息

cat bhz.com.access.log

Nginx的反向代理

Nginx反向代理proxy 与 负载均衡 upstream

配置反向代理proxy: proxy_pass url地址

配置负载均衡upstream :upstream

官方配置:http://nginx.org/en/docs

注意: 反向代理之后获取客户端ip地址为nginx服务器,这里需要对nginx进行forward,设置真实的ip地址;

  #设置客户端真实的ip地址

  proxy_set_header X-real-ip $remote_addr;

动静分离:

  动态的请求访问tomcat

  静态的请求访问nginx

Nginx的反向代理详解

Nginx先拦截请求,再把请求发送给不同的tomcat

location ~\.jsp${

  proxy_pass http://192.168.1.171:8080

}

Nginx初步-环境搭建_nginx_05

解压tomcat:

/usr/local/apache-tomcat-7.0.29/bin/startup/sh

Nginx初步-环境搭建_nginx_06

这是获取到的ip是nginx的ip;

Nginx初步-环境搭建_html_07

location /{
#设置客户端真实ip地址
#proxy_set_header X-real-ip $remote_addr;
#负载均衡反向代理
#proxy_pass http://myapp
#返回根路径地址(相对路径:相对于/usr/local/nginx/)
root html;
默认访问文件
index index.html index.htm
}
#配置反向代理tomcat服务器:拦截.jsp结尾的请求转向到tomcat
#location ~\.jsp${
#proxy_pass http://192.168.1.171:8080
}

Nginx初步-环境搭建_负载均衡_08

Nginx初步-环境搭建_nginx_09

经过反向代理之后,获取到的ip为物理机的ip

Nginx的负载均衡配置详解

#设定负载均衡的服务器列表
#upstream myproject{
#weight参数表示权值,权值越高被分配到的概率越大
#max_fails 当有#max_files个请求失败,就表示后端的服务器不可用,默认为1,将其设置为0可以关闭检查
#fail_timeout 在以后的#fail_timeout时间内nginx不会再把请求发送已检查标记为不可用的服务器
}
#webapp
#upstream myapp{
server 192.168.1.114:8000 weight=1 max_files=2 fail_timeout=30s
server 192.168.1.115:8000 weight=1 max_files=2 fail_timeout=30s
}

myapp负载均衡了两个节点,114和115

#scp /usr/local/apache-tomcat-7.0.29/webapps/Root/test.jsp  192.168.1.115:/usr/local/apache-tomcat-7.0.29/webapps/Root/
##
##
/usr/local/apache-tomcat-7.0.29/bin/startup.sh

Nginx初步-环境搭建_html_10

没做负载均衡之前:

       114:8080/test.jsp  显示test1.jsp

       115:8080/test.jsp  显示test2.jsp

做了负载均衡

       114:70/test.jsp 第一次显示test1.jsp,第二次显示test2.jsp

标签:nginx,初步,Nginx,html,jsp,usr,local,搭建
From: https://blog.51cto.com/u_15890333/5884592

相关文章

  • NGINX统计网站的PV、UV、独立IP
    NGINX:统计网站的PV、UV、独立IPNginx:PV、UV、独立IP做网站的都知道,平常经常要查询下网站PV、UV等网站的访问数据,当然如果网站做了CDN的话,nginx本地的日志......
  • springboot初步整合web(一)
    1、整合filterspringboot-整合filter方式1@WebFilter(filternameurlpattern="拦截多个请求,{"*.do","*.action","/firstServlet",}")publicclsssFirstFilterimplementsF......
  • nginx处理options请求
    运维=nginx处理options请求发表于2019-09-29 | 分类于前端  | 没有评论禁止OPTIONS请求响应200运维:补漏洞-禁止OPTIONS请求响应200。安全扫描检测到部分请......
  • 基于docker搭建Jenkins+git+python+allure
    一、创建jenkins容器1、拉取jenkins镜像dockerpulljenkins/jenkins:latest    2、创建本地目录,后续挂载jenkins的工作目录mkdir/home/jenkins_home3、......
  • nginx使用wss协议出现wss handshake: Unexpected response code: 400
    在nginx中配置好https协议之后,我以为可以使用反向代理在tomcat容器中的页面js调用websocket用wss了,但是没想到居然报了个错:handshake:Unexpectedresponsecode:400查了一......
  • 服务器配置nginx和tomcat都使用https协议
    如果服务器需要配置https协议,我们很容易的在nginx上加入相应的证书配置就可以实现,但是如果我们服务器的环境有php和Java这两种的话,而Java使用的是tomcat容器,但是又想实现两......
  • 编译安装nginx支持lua
    1、下载lua模块wgethttps://github.com/openresty/lua-nginx-module/archive/v0.10.9rc7.tar.gz解压到/usr/local/目录下tarxvfv0.10.9rc7......
  • docker安装并配置nginx
    1.下载[root@host-10-23-110-128mysql]#dockerpullnginx:latestlatest:Pullingfromlibrary/nginxa2abf6c4d29d:Alreadyexistsa9edb18cadd1:Pullcomplete589......
  • nestjs搭建HTTP与WebSocket服务
    最近在做一款轻量级IM产品,后端技术栈框架使用了nodejs+nestjs作为服务端。同时,还需要满足一个服务同时支持HTTP服务调用以及WebSocket服务调用,此文主要记录本次搭建过程,......
  • 配置nginx动静分离全步骤
    1、目的高并发环境下,大量请求从服务器后端获取资源,给后台服务器造成了巨大的压力。因此,在发布代码时,需要将后端的静态资源放到nginx,形成动态文件和静态文件分离。静态文件就......