一、部署
1、准备工作:gcc、automake、pcre(支持rewirte模块)、zlib(支持gzip模块)、openssl(支持ssl模块)等三方库。
yum -y install gcc gcc-c++ automake pcre pcre-devel zlib zlib-devel open openssl-devel
2、nginx安装
下载nginx包:http://nginx.org/download/nginx-1.8.0.tar.gz
进入安装目录
cd /data/program
把ngnix包传上来
执行以下命令进行解压、安装
tar zxvf nginx-1.8.0.tar.gz
cd nginx-1.8.0
./configure --prefix=/data/program/nginx
make && make install
二、启动、停止
Nginx启动:
/opt/nginx/sbin/nginx
Nginx重启:
/opt/nginx/sbin/nginx -s reload
Nginx关闭:
快速关闭:
/opt/nginx/sbin/nginx -s stop
平滑关闭:
/opt/nginx/sbin/nginx -s quit
查看nginx启动是否成功:
三、配置二级目录分发
编辑nginx目录下/conf/nginx.conf
http {
include mime.types;
default_type application/octet-stream;
keepalive_timeout 65;
upstream query{
server 10.206.19.187:8083;
}
upstream report{
server 10.206.19.187:8085;
}
server {
listen 80;
server_name localhost;
location /api_query {//请求以/api_query/ 开头,会跳转到query对应的10.206.19.187:8083
proxy_pass http://query/;
}
location /report {
proxy_pass http://report/;
}
}
重启nginx
测试:页面请求地址:http://10.206.19.187:80/api_query/get_dbs.do?接口,能够获取到返回结果。
请求效果跟直接访问http://10.206.19.187:8083/api_query/get_dbs.do?一样
主要用于项目部署在不同机器上时,通过ngnix进行二级目录分发
四、域名分发
nginx.conf
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
upstream query{
server 10.206.19.189:8905;
}
upstream report{
server 10.206.19.189:8805;
}
include site/*.conf;
}
conf下建site目录,site目录下创建query.conf
编辑query.conf
server {
listen 80;
server_name report.nubia.com;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
proxy_pass http://report/;
# proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
index index.html index.htm;
proxy_set_header Connection '';
proxy_buffering off;
proxy_cache off;
chunked_transfer_encoding off;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
server {
listen 80;
server_name customquery.nubia.com;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
proxy_pass http://query/;
# proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
index index.html index.htm;
proxy_set_header Connection '';
proxy_buffering off;
proxy_cache off;
chunked_transfer_encoding off;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
重启nginx,页面通过不同域名实现分发