nginx安装与配置

1.基本工具安装

1.1配置yum

yum clean all

yum makecache

1.2工具安装

yum -y install gcc gcc-c++ autoconf pcre pcre-devel make automake

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

yum -y install libevent yum-utils

2.nginx下载与安装

2.1下载

wget -c http://nginx.org/download/nginx-1.16.1.tar.gz

2.2 安装

tar -zvxf nginx-1.16.1.tar.gz -C /usr/local

cd /usr/local/nginx-1.16.1

mkdir -p /var/temp/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 \
--with-http_stub_status_module \
--with-http_ssl_module \
--with-http_realip_module \
--with-http_v2_module

 make && make install

2.3 nginx.conf配置

user nobody nobody;
worker_processes 16;
# error_log /usr/local/nginx/logs/nginx_error.log crit;
pid /usr/local/nginx/logs/nginx.pid;
worker_rlimit_nofile 51200;
events
{
  use epoll;# 设置用于复用客户端线程的轮询方法。如果你使用Linux 2.6+,你应该使用epoll。如果你使用*BSD,你应该使用kqueue。
  worker_connections 6000;#每个worker处理的连接数
}
http

{
  include mime.types;
  default_type application/octet-stream;
  server_names_hash_bucket_size 3526;
  server_names_hash_max_size 4096;
  log_format combined_realip '$remote_addr $http_x_forwarded_for [$time_local]'
  '$host "$request_uri" $status'
  '"$http_referer" "$http_user_agent"';
  server_tokens off; #关闭在错误页面中的nginx版本数字
  sendfile on;
  tcp_nopush on;#告诉nginx在一个数据包里发送所有头文件,而不一个接一个的发送
  tcp_nodelay on;
  keepalive_timeout 30;
  client_header_timeout 3m;
  client_body_timeout 3m;
  send_timeout 3m;
  connection_pool_size 256;
  client_header_buffer_size 1k;
  large_client_header_buffers 8 4k;
  request_pool_size 4k;
  output_buffers 4 32k;
  postpone_output 1460;
  client_max_body_size 50m;
  client_body_buffer_size 256k;
  client_body_temp_path /usr/local/nginx/client_body_temp;
  proxy_temp_path /usr/local/nginx/proxy_temp;
  fastcgi_temp_path /usr/local/nginx/fastcgi_temp;
  fastcgi_intercept_errors on;
  gzip on;
  gzip_disable "MSIE [1-6]\.";#IE6不支持gzip
  gzip_min_length 1k;
  gzip_buffers 4 8k;
  gzip_comp_level 5;
  gzip_http_version 1.1;
  gzip_types text/plain application/x-javascript text/css text/htm application/xml application/javascript text/javascript application/x-httpd-php image/jpeg image/gif image/png;
  include vhosts/*.conf;
}

 2.4 server负载均衡配置

upstream webUpstream{
#server 127.0.0.1:8180;
server 127.0.0.1:8280;

}

#http配置

server
{
  listen 80;
  server_name xx.com;
  charset utf-8;
  access_log logs/xx.com-access.log;
  error_log logs/xx.com-error.log;
  location /
  {
    proxy_redirect off;
    proxy_set_header Host $http_host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_pass http://webUpstream;

  }

  #默认跳转页面
  location =/ {
    rewrite / /xx/xx/login.html;
  }
  location /error
  {
  root /usr/local/nginx/html;
  }
}

 


# https配置

server {
  listen 443 ssl;
  server_name xx.com;

  ssl_certificate /home/opt/2941559_xx.com.pem;
  ssl_certificate_key /home/opt/2941559_xx.com.key;

  ssl_session_cache shared:SSL:1m;
  ssl_session_timeout 5m;

  ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
  ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #使用该协议进行配置。
  ssl_prefer_server_ciphers on;

  location /
  {
    proxy_redirect off;
    proxy_set_header Host $http_host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto https;
    proxy_pass http://webUpstream;

  }

  #配置文件访问跳转
  location =/zz.txt {
    root /home/opt;
  }
  location /error
  {
    root /usr/local/nginx/html;
  }
  location =/ {
  rewrite / /admin/public/login.html;
  }
}

#禁止IP访问

server {

  listen 80 default;
  server_name _;
  return 403;
}

#域名跳转

server {
  listen 80;
  server_name xx.com;
  rewrite ^/(.*)$ http://www.xx.com/$1 permanent;

}

2.5 https时tomcat添加Valve配置

tomcat/conf/server.xml中

<Host name="localhost" appBase="">
  <Valve className="org.apache.catalina.valves.RemoteIpValve"
    remoteIpHeader="x-forwarded-for"
    remoteIpProxiesHeader="x-forwarded-by"
    protocolHeader="x-forwarded-proto"
  />

  <Context path="" docBase="/xx/xxx"/>
</Host>

 

 

 

 

 

posted @ 2019-11-12 17:36  顽皮的藤藤菜  阅读(140)  评论(0)    收藏  举报