nginx相关特性及使用

1.Nginx 介绍及安装
Ngnix是一个Http服务器,抗并发能力比较强(10 万),擅长处理静态资源文件[html、css、js、img],tomcat服务器是应用服务器【web服务器】,擅长处理接口[@RequestMapping]、jsp文件。

2.nginx安装:
2.1 安装nginx的预编译环境:
yum install gcc-c++
yum install -y pcre pcre-devel

yum install -y zlib zlib-devel
yum install -y openssl openssl-devel

2.2 安装nginx
解压:tar -zxvf nginx-1.8.0.tar.gz -C /opt/install/
进入nginx家目录:cd nginx-1.8.0
创建/var/temp/nginx目录:
mkdir -p /var/temp/nginx
在nginx的家目录下:
./configure
--prefix=/usr/local/nginx
--pid-path=/var/run/nginx/nginx.pid
--lock-path=/var/lock/nginx.lock
--error-log-path=/var/log/nginx/error.log
--http-log-path=/var/log/nginx/access.log
--with-http_gzip_static_module
--http-client-body-temp-path=/var/temp/nginx/client
--http-proxy-temp-path=/var/temp/nginx/proxy
--http-fastcgi-temp-path=/var/temp/nginx/fastcgi
--http-uwsgi-temp-path=/var/temp/nginx/uwsgi
--http-scgi-temp-path=/var/temp/nginx/scgi
编译:nake
安装:make install

安装完成之后,nginx就安装在/usr/local/nginx 这个目录。


3.Nginx常用命令:
./nginx 启动nginx
./nginx -s stop:关闭nginx
./nginx -s quit:关闭nginx
./nginx -s reload:重新启动nginx,并且会重新加载nginx.conf配置文件

4.Nginx主要功能:
虚拟主机: 可以单独对外提供服务的一台机子。
基于端口号:
server {
listen 80;
server_name localhost;


location / {
root html;
index index.html index.htm;
}

error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}

}

server {
listen 81;
server_name localhost;


location / {
root html-1;
index index.html index.htm;
}

error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}

}
重新加载nginx.conf配置文件
./nginx -s reload


基于域名:一个域名对应一个ip,但是一个ip可以对应多个域名

首先必须在windows的C:WindowsSystem32driversetchosts文件中配置ip和域名的映射
192.168.37.10 www.offcn.student
192.168.37.10 www.offcn.teacher

nginx/conf/nginx.conf文件中:
server {
listen 80;
server_name www.offcn.student;


location / {
root html;
index index.html index.htm;
}

error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}

}
server {
listen 80;
server_name www.offcn.teacher;


location / {
root html-1;
index index.html index.htm;
}

error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}

}

反向代理:nginx自己不做事,但是ngnix将请求交给后边的tomcat服务器,但是不保证tomcat中部署的是同一个项目
server {
listen 80;
server_name www.offcn.student;


location / {
root html;
index index.html index.htm;
proxy_pass http://mytomcat7;
}

error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}

}
upstream mytomcat7{
server 192.168.37.10:8080;
}
upstream mytomcat71{
server 192.168.37.10:8081;
}
server {
listen 80;
server_name www.offcn.teacher;


location / {
root html-1;
index index.html index.htm;
proxy_pass http://mytomcat71;
}

error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}

}


负载均衡: nginx自己不做事,但是ngnix将请求交给后边的多台tomcat服务器,tomcat中部署的必须是同一个项目

server {
listen 80;
server_name www.offcn.student;


location / {
root html;
index index.html index.htm;
proxy_pass http://mytomcat7;
}

error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}

}
upstream mytomcat7{
server 192.168.37.10:8080;
server 192.168.37.10:8081;
}


负载均衡策略:
1.默认是轮询的方式:一个tomcat处理一次请求
2.最少连接:

3.weight 权重
upstream mytomcat7{
server 192.168.37.10:8080 weight=2;
server 192.168.37.10:8081 weight=1;
}
4.ip_hash:每个请求按访问ip的hash值分配,这样同一客户端连续的Web请求都会被分发到同一服务器进行处理,可以解决session的问题。

upstream mytomcat7{
ip_hash;
server 192.168.37.10:8080 weight=2;
server 192.168.37.10:8081 weight=1;
}

nginx做动静分离:
nginx.conf文件

原文地址:https://www.cnblogs.com/ljl5921/p/14278498.html