Java 开发人员常用的服务配置(Nginx、Tomcat、JVM、Mysql、Redis)

Nginx

Nginx是一款由C语言编写的高性能、轻量级的HTTP和反向代理服务器,同时也是一款IMAP/POP3/SMTP服务器。

  1. nginx.conf:Nginx核心配置文件,linux下默认安装在/etc/nginx/
# Nginx所用用户和组,window下不指定  
user  www-data;  
# 工作的子进程数量(通常等于CPU数量或者2倍于CPU)  
worker_processes  auto;  
# pid存放文件  
pid  /run/nginx.pid; 

# 简化调试 此指令不得用于生产环境 
#master_process  off;
# 简化调试 此指令可以用到生产环境
#daemon off;
  
# 最大文件描述符
worker_rlimit_nofile 51200;

events {  
    # 使用网络IO模型linux建议epoll,FreeBSD建议采用kqueue,window下不指定。  
    #use epoll;  
      
    # 允许最大连接数  
    worker_connections 1024;  
    
    # 此指令的作用是立即接受所有连接放到监听队列中,使得Nginx Worker能够在获得新连接通知时尽可能多的接受连接
    #multi_accept on;
} 

# load modules compiled as Dynamic Shared Object (DSO)
#
#dso {
#    load ngx_http_fastcgi_module.so;
#    load ngx_http_rewrite_module.so;
#}
  
http {  

    # 反向代理相关配置(自行新建),参考下面的proxy.conf
    #include  /etc/nginx/conf.d/proxy.conf;;
    # GZIP压缩相关配置(自行新建),参考下面的gzip.conf
    #include  /etc/nginx/conf.d//gzip.conf;

    ##
    # Basic Settings
    ##
    
    sendfile on;
    # 在一个数据包里发送所有头文件,而不是一个接一个的发送
    tcp_nopush on;
    # 不缓存数据,而是一段一段的发送
    tcp_nodelay on;
    # 设置客户端keep-alive超时时间
    keepalive_timeout 65;
    types_hash_max_size 2048;
      
    client_header_timeout  10;  
    client_body_timeout  10;  
    send_timeout  10;  
   
    client_header_buffer_size    1k;  
    large_client_header_buffers  4  4k; 
    
    # 允许客户端请求的最大单文件字节数
    client_max_body_size 10m; 

    client_body_in_single_buffer on;
    # 缓冲区代理缓冲用户端请求的最大字节数
    client_body_buffer_size 128k;
    
    # 关闭Nginx的版本号和系统发行版本显示,默认是on
    # server_tokens off;

    # server_names_hash_bucket_size 64;
    # server_name_in_redirect off;

    # 设置文件使用的默认的MIME-type
    include  /etc/nginx/mime.types;
    default_type  application/octet-stream;  
    
    ##
    # SSL Settings
    ##

    ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # Dropping SSLv3, ref: POODLE
    ssl_prefer_server_ciphers on;

    ##
    # Logging Settings
    ##
    
    # 自定义access_log日志格式和级别  
    #log_format  main  '$remote_addr - $remote_user [$time_local] $request "$status" $body_bytes_sent "$http_referer" "$http_user_agent" "$http_x_forwarded_for"'; 

    # 关闭日志可配置off
    # 访问和错误日志存放路径,常见日志级别有[ debug | info | notice | warn | error | crit | alert | emerg ],级别越高记录的信息越少。 
    access_log /var/log/nginx/access.log main;
    error_log /var/log/nginx/error.log notice;
    
    # 负载均衡配置
    upstream upstream_test{  
    
        # 负载策略,常见有轮询(默认)、指定权重(weight 默认为1.weight越大,负载的权重就越大)、IP绑定(ip_hash)、fair(第三方)、url_hash(第三方)
        #ip_hash;
    
        server 127.0.0.1:9090 down; (down 表示当前server暂时不参与负载) 
        server 127.0.0.1:8080 weight=10;
        server 127.0.0.1:8081 weight=5;
        server 127.0.0.1:7070 backup; (其它所有的非backup机器down掉或者忙碌时候,请求backup机器) 
      
        ## Tengine config
        #check interval=300 rise=10 fall=10 timeout=100 type=http port=80;
        #check_http_send "GET / HTTP/1.0\r\n\r\n";
        #check_http_expect_alive http_2xx http_3xx;

        ## Tengine config
        #session_sticky cookie=cookieTest mode=insert;
    }  
  
    # server配置,同时支持监听80和443端口
    server {  
        listen  80;
        # https配置
        listen 443 ssl http2; #default_server;
        listen [::]:443 ssl http2; #default_server;
        ssl_certificate "/etc/nginx/ssh_cert/1_domain.cn_bundle.crt";
        ssl_certificate_key "/etc/nginx/ssh_cert/2_domain.cn.key";
        ssl_session_cache shared:SSL:1m;
        ssl_session_timeout  10m;
        ssl_ciphers HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers on;

        # 可使用通配符形式配置,如*.domain.com;
        server_name  domain.com  www.domain.com;;  
    
        # 如果访问时没有加www,则跳转至www.domain.com
        if ($host !~* www.domain.com) { 
            rewrite ^(.*)$ http://www.domain.com/$1 permanent;
        }
  
        location / {
            # 指定目录位置
             root /etc/nginx/; 
            # 开启目录浏览
            autoindex  on;
            # 默认为on,显示出文件的确切大小,单位是bytes。改为off后,显示出文件的大概大小,单位是kB或者MB或者GB
            autoindex_exact_size  off;
            # 默认为off,显示的文件时间为GMT时间。改为on后,显示的文件时间为文件的服务器时间
            autoindex_localtime on; 
            # 10m之后下载速度为10k
            #limit_rate_after 10m;
            #limit_rate 10k;
        } 
         
    # 根据User-Agent过滤网络爬虫
    location /spider {
            if ($http_user_agent ~* "python|curl|java|wget|httpclient|okhttp") {
                return 503;
            }
    }

        location /proxy {
            proxy_pass http://upstream_test;  
            # 配置跨域访问
            add_header 'Access-Control-Allow-Headers' 'Content-Type';  
            add_header 'Access-Control-Allow-Origin' '*';  
           
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值