# Tengine 安装
# 1、官网下载安装包
下载最新稳定版本 http://tengine.taobao.org/download_cn.html
# 2、安装 Tengine
安装Tengine依赖库
yum install -y gcc gcc-c++ autoconf automake pcre pcre-devel zlib zlib-devel openssl openssl-devel
下载
cd /tmp
wget http://tengine.taobao.org/download/tengine-2.3.2.tar.gz
解压安装包
tar -zxvf tengine-2.3.2.tar.gz
cd 进入解压后文件路径,然后执行
./configure --user=nobody --group=nobody --prefix=/usr/local/nginx \
--pid-path=/var/run/nginx/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--with-http_stub_status_module --with-http_gzip_static_module --with-http_realip_module --with-http_sub_module --with-http_ssl_module \
--with-pcre
如果没有错误,接着执行:
make && make install
# 3、基本配置
安装好Nginx后
修改Nginx配置文件:
vi /usr/local/nginx/conf/nginx.conf
#user nobody;
# ** nginx 进程数,建议按照cpu 数目来指定
worker_processes 4;
error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
pid logs/nginx.pid;
events {
use epoll;
worker_connections 4096;
}
http {
include mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
#access_log logs/access.log main;
sendfile on;
#tcp_nopush on;
# 自定义缓冲区相关设置
client_body_buffer_size 1K;
client_header_buffer_size 1k;
client_max_body_size 50m;
large_client_header_buffers 2 1k;
#超时相关设置
client_body_timeout 60;
client_header_timeout 60;
keepalive_timeout 65;
send_timeout 60;
# X-Forwarded-For
real_ip_header X-Forwarded-For;
#gzip
gzip on;
gzip_min_length 1000;
gzip_buffers 4 8k;
gzip_disable "MSIE [1-6].";
gzip_types text/plain text/css application/javascript text/javascript application/x-javascript text/xml application/xml application/xml+rss application/json;
#隐藏nginx版本号
server_tokens off;
# 限流配置 申请一个10m的空间存储限制数据,通过remote_addr这个标识来做限制,相同IP最大100次每秒
limit_req_zone $binary_remote_addr zone=perip:20m rate=100r/s;
# 并发限制
limit_conn_zone $server_name zone=perserver:20m;
include /usr/local/nginx/conf/conf.d/*.conf;
}
根据实际情况配置 请配置为CPU核数 worker_processes 4;
创建配置目录
mkdir /usr/local/nginx/conf/conf.d
# 3、业务配置
目录创建
mkdir /cslc/www
mkdir /cslc/www/econtract-web
mkdir /cslc/www/hsweb
# 电子合同控制台前端
创建配置文件
cd /usr/local/nginx/conf/conf.d
vi econtract.conf
内容:
server {
listen 80;
# ** 这里要填写 电子合同控制台 域名
server_name ec.cslc.cn;
access_log "pipe:rollback logs/econtract.log interval=1d baknum=7 maxsize=2G" main;
# 允许100个请求排队 多余直接503
limit_req zone=perip burst=100 nodelay;
# 表示该服务提供的总连接数不得超过2048
limit_conn perserver 2048;
location / {
expires -1;
add_header Pragma "no-cache";
add_header Cache-Control "no-store, no-cache, must-revalidate, post-check=0, pre-check=0";
root /cslc/www/econtract-web;
try_files $uri $uri/ /index.html =404;
}
location /api/fs/ {
proxy_set_header Host $host;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
# ** 这里需要配置文件服务的F5地址
proxy_pass http://172.16.3.228:20128/bizadmin/fs/;
}
location /api/ {
proxy_set_header Host $host;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
# ** 这里需要配置电子合同服务的F5地址
proxy_pass http://172.16.3.228:8600/bizadmin/;
}
}
# 电子合同手写屏前端
创建配置文件
cd /usr/local/nginx/conf/conf.d
vi hs.conf
内容:
server {
listen 80;
# ** 这里要填写 手写屏的域名
server_name ec-hs.cslc.cn;
access_log "pipe:rollback logs/hs.log interval=1d baknum=7 maxsize=2G" main;
# 允许50个请求排队 多余直接503
limit_req zone=perip burst=50 nodelay;
# 表示该服务提供的总连接数不得超过1024
limit_conn perserver 1024;
location / {
expires -1;
add_header Pragma "no-cache";
add_header Cache-Control "no-store, no-cache, must-revalidate, post-check=0, pre-check=0";
root /cslc/www/hsweb;
try_files $uri $uri/ /index.html =404;
}
location /api/ {
proxy_set_header Host $host;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
# ** 这里需要配置电子合同服务的F5地址
proxy_pass http://172.16.3.228:8600/handwriting-screen/;
}
}
# 文件服务
创建配置文件
cd /usr/local/nginx/conf/conf.d
vi fs.conf
内容:
server {
# 端口
listen 80;
# ** 这里要填写 文件服务的域名
server_name ec-fs.cslc.cn;
access_log "pipe:rollback logs/fs.log interval=1d baknum=7 maxsize=2G" main;
# 允许50个请求排队 多余直接503
limit_req zone=perip burst=50 nodelay;
# 表示该服务提供的总连接数不得超过1024
limit_conn perserver 1024;
location / {
proxy_set_header Host $host;
proxy_set_header REMOTE-HOST $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;
# ** 这里需要配置FS服务的F5地址
proxy_pass http://172.16.3.228:8600/web/;
}
}
# 4、配置开机启动
切换到cd /lib/systemd/system/目录,创建nginx.service文件vi nginx.service
vi /lib/systemd/system/nginx.service
文件内容如下:
[Unit]
Description=nginx
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx reload
ExecStop=/usr/local/nginx/sbin/nginx quit
PrivateTmp=true
[Install]
WantedBy=multi-user.target
退出并保存文件
执行使nginx开机启动
systemctl enable nginx
systemctl start nginx
启动nginx
systemctl start nginx
结束nginx
systemctl stop nginx
重启nginx
systemctl restart nginx