JAVA开发部署文档Word文档格式.docx
- 文档编号:968656
- 上传时间:2023-04-29
- 格式:DOCX
- 页数:29
- 大小:1.88MB
JAVA开发部署文档Word文档格式.docx
《JAVA开发部署文档Word文档格式.docx》由会员分享,可在线阅读,更多相关《JAVA开发部署文档Word文档格式.docx(29页珍藏版)》请在冰点文库上搜索。
default-time_zone='
+8:
00'
#允许最大连接数
max_connections=2000
[client]
#客户端来源数据的默认字符集
default-character-set=utf8mb4
[mysql]
#数据库默认字符集
修改之后记得重启mysql:
servicemysqldrestart
3部署tomcat
解压tomcat8+到/usr/local/tomcat8/下面
进入tomcat的启动目录bin下,使用命令./catalina.shrun或者nohup./startup.sh&
启动tomcat
如果不熟悉,请使用第一种启动方案,可以看到实时日志
tomcat相关配置:
注意,项目里面对tomcat配置文件进行修改,这要改成
<
ContextdocBase="
../mayaUploadRoot/upload"
path="
/maya/upload"
/>
4安装nginx
网络下载nginx-1.10.2,解压并安装到磁盘,配置相关代理,访问:
安装路径:
/usr/local/nginx/
nginx.conf配置文档如下:
#nginx版本nginx1.14.x不要使用高版本,如:
1.16
#usernobody;
#指定nginx用户,一般重新创建一个新用户给nginx
worker_processes8;
##worker_processes8;
工作进程:
数目。
根据硬件调整,通常等于CPU数量或者2倍于CPU。
;
cat/proc/cpuinfo|grep"
cpucores"
|uniq
error_loglogs/error.log;
#error_loglogs/error.lognotice;
#error_loglogs/error.loginfo;
#pidlogs/nginx.pid;
events{
worker_connections102400;
##这里原来是1024,现在后面多家两个0;
每一个进程打开的最大连接数;
最大连接数=worker_processes*worker_connections/4
multi_accepton;
#可以一次建立多个连接
useepoll;
#IO多路复用方式
}
http{
includemime.types;
default_typeapplication/octet-stream;
client_max_body_size500m;
#设置1:
设置上传大小Sven
server_tokensoff;
#设置2隐藏http响应头里面显示nginx版本号,防止别人根据版本漏洞进行攻击
##设置3
###start设置允许跨域,在这里设置了,就不用在java代码设置了:
CrossOrigin####
###一般不要设置*,设置*容易遭到跨站点cros攻击,最好只设置运行访问的外部网站
add_headerAccess-Control-Allow-Origin*;
add_headerAccess-Control-Allow-HeadersX-Requested-With;
add_headerAccess-Control-Allow-MethodsGET,POST,PUT,DELETE,OPTIONS;
###end###
#设置4:
获取客户端ip地址Sven
proxy_set_headerX-Real-IP$remote_addr;
##获取客户端的真实ip,如果不加,就会代理服务器内网的ip
proxy_set_headerHost$host:
$server_port;
proxy_set_headerX-Forwarded-For$proxy_add_x_forwarded_for;
##防止客户端多层代理,获取不到真实的ip,Forwarded可以获取到ip,代理ip1,代理ip2...,整个请求过程的所有ip
#设置5:
速率限制+并发限制
#http:
//nginx.org/en/docs/搜索:
limit
####limit_req_zone用来限制单位时间内的请求数,即速率限制,采用的漏桶算法"
leakybucket"
。
####limit_req_conn用来限制同一时间连接数,即并发限制。
###mylimit_req_name1:
是自己给规则起的名称,可以随便起,
###$binary_remote_addr是基于客户端ip,
###如果超过限制:
Responsecode:
429、Responsemessage:
TooManyRequests
503、Responsemessage:
ServiceTemporarilyUnavailable;
服务器临不可用,服务器限流了
###_status可以自定义超过限流的状态码
limit_req_zone$binary_remote_addrzone=mylimit_req_name1:
10mrate=800r/s;
###生成一个名字mylimit_req_name1的内存区域大小10MB,用来存储访问的频次信息。
80QPS单个ip
limit_reqzone=mylimit_req_name1burst=5nodelay;
##QBS大于阀值,请求排队个数(burst),排队的请求,nodelay(立即执行)
limit_req_status429;
#---
limit_conn_zone$binary_remote_addrzone=mylimit_conn_name1:
10m;
##生成一个名字叫做mylimit_conn_name1的内存区域是10m的连接限制
limit_connmylimit_conn_name1200;
##单个ip限制连接数,这里20个
limit_conn_status428;
#设置5:
开发阶段,禁止缓存。
把下面代码打开,每次请求都是最新的文件。
#比如,可以自己写一个txt文件,使用微信打开,添加点内容。
然后微信在打开,就可以看到效果。
#注意,不要和expires1d;
冲突设置
add_headerCache-Controlno-cache;
add_headerPragmano-cache;
add_headerExpires0;
##设置6:
504报错解决,完美解决Nginx504Gatewaytime-out
fastcgi_connect_timeout300s;
fastcgi_send_timeout300s;
fastcgi_read_timeout300s;
#log_formatmain'
$remote_addr-$remote_user[$time_local]"
$request"
'
#'
$status$body_bytes_sent"
$http_referer"
"
$http_user_agent"
"
$http_x_forwarded_for"
'
#access_loglogs/access.logmain;
##默认写日志:
打开文件写入关闭,max:
缓存的文件描述符数量,inactive缓存时间,valid:
检查时间间隔,min_uses:
在inactive时间段内使用了多少次加入缓存
#open_log_file_cachemax=200inactive=20svalid=1mmin_uses=2;
#只有开启了sendfile,tcp_nopush才起作用
#tcp_nodelay和tcp_nopush互斥,二者同时开启,nginx会:
(1)确保数据包在发送给客户端之前是满的
#
(2)对于最后一个数据包,允许tcp立即发送,没有200ms的延迟
#tcp_nodelayon;
#sendfileon;
#tcp_nopushon;
#与浏览器的长连接
keepalive_timeout1000;
#长连接超时时间
keepalive_requests500;
#500个请求以后,关闭长连接
keepalive_disablemsie6;
#ie6禁用
#开启GZIP压缩功能压缩级别(gzip_comp_level),1~10,数字越大压缩的越好,时间也越长,看心情随便改吧;
但是越大不一定压缩一直增加
gzipon;
gzip_min_length2k;
gzip_buffers416k;
gzip_comp_level5;
gzip_typestext/plainapplication/x-javascriptapplication/javascripttext/cssapplication/xmlapplication/jsontext/javascriptapplication/x-httpd-phpimage/jpegimage/gifimage/pngimage/svg+xml;
gzip_varyoff;
gzip_disable"
MSIE[1-6]\."
gzip_staticon;
#如果有压缩好的直接使用
underscores_in_headerson;
##########################################
##缓存相关还没开启proxy_cache_path
#Nginx做负载均衡的几种轮询策略
#ip_hash;
每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。
#ip_hash:
❗️❗️❗️问题,可能一台服务器挂掉了,就部分用户一直访问不了的;
建议使用redis解决session问题;
不推荐使用
#RR;
默认每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。
#weight和访问比率成正比,用于后端服务器性能不均的情况。
#server192.168.1.10weight=1;
upstreamtomcat{
server127.0.0.1:
8080weight=2;
8081weight=1;
keepalive2000;
}
###强制访问让http访问重定向到htts$$$$$
server{
listen80;
server_name;
rewrite^(.*)$1permanent;
#解决少输入一个斜杠导致的页面无法正常访问的问题;
比如,客户输入的地址是:
https:
//www.weddinglove.xyz/hunqing,但是少输入了一个/斜杠导致,这个index.html里面的js和图片全部访问路径错误,要如何配置可以直接重定向到带有斜杠的页面
#具体解决请查看:
#^是正则的开始,$表示正则的结束
#rewrite^/hiber/hiber/permanent;
###~符合正则匹配
###~*符合正则匹配,判断时候不区分大小写
###!
~不符合正则匹配
~*不符合正则匹配,判断时候不区分大小写
#if($http_host!
~"
^(.*)sportpartner$"
){
#rewrite^(.*)$1permanent;
#}
############################婚庆项目配置方式START#######################
####1:
强制使用了https使用了`error_page497https:
//$host$uri?
$args;
`配置
####2:
强制使用www这个二级域名,非www重定向到www`rewrite^(.*)https:
//www.weddinglove.xyz$1permanent;
`使用301永久重定向
####3:
删除了原来80端口的配置,80和443同时写到一个server里面
####4:
HTTPSserver证书配置
说明:
比如和都是二级域名,即:
www就是二级域名
#######################################################################
#server可以配置成多个,每一个都可以配置成为不同的域名。
如:
测试服务器可以同时是:
域名;
域名,两个域名首页还完全不一样。
listen443;
#阿里云端口必须打开
server_namejl-;
##SSL每一项配置含有说明、启用免费证书
sslon;
##SSL优化,SSL安全,但是也有弊端;
ssl握手的时候,需要增加和服务器的链接;
这里开启缓存,减小影响
ssl_session_timeout10m;
#SSLsession会话有效期10分钟http:
//nginx.org/en/docs/http/ngx_http_ssl_module.html
ssl_session_cacheshared:
SSL:
20m;
##session缓存到服务器,大小10MB,一兆字节可以存储大约4000个session
##linx
#ssl_certificate/usr/local/nginx/cert/full_chain.pem;
##说明:
这个文件是:
证书+CA证书两部分合起来的文件,发现有两段
#ssl_certificate_key/usr/local/nginx/cert/private.key;
key是私钥private.key
##windows这里全路径
ssl_certificateD:
\\freessl\\full_chain.pem;
ssl_certificate_keyD:
\\freessl\\private.key;
ssl_ciphersECDHE-RSA-AES128-GCM-SHA256:
ECDHE:
ECDH:
AES:
HIGH:
!
NULL:
aNULL:
MD5:
ADH:
RC4;
ssl_protocolsTLSv1TLSv1.1TLSv1.2TLSv1.3;
#禁用TLS1.0TLS(PCIDSS合规判定)v1.0或更早的加密协议将会判定为不合规;
TLSv1
ssl_prefer_server_cipherson;
#让http请求重定向到https请求
error_page497https:
#proxy_passhttp:
//tomcat/;
#charsetkoi8-r;
#access_loglogs/host.access.logmain;
#重定向301永久重定向
#只是一级域名“”跳转到去。
强制使用www二级域名承联官网项目
#学有惠nginx没有做这个配置,并且可以自动跳转到www;
其实是错误的:
不使用www根本访问不了;
可以pingxueyouhui.top根本无法ping通;
必须pingwww
#简而言之:
域名绑定的是www.xueyouhui.top这个二级域名
##permanent永久重定向301;
redirect:
临时重定向302;
break停止;
last:
停止,并访问一次转发后地址;
##^:
以xx开头、()表示一个变量,后面用$1替换,.*正则
#将所有的http请求通过rewrite重写到https上即可
#rewrite^(.*)$https:
//$host$1permanent;
if($http_host~"
^jl-$"
rewrite^(.*)https:
//www.jl-$1permanent;
rewrite^/mall$/mall/permanent;
##自动增加一个斜杠
##1:
nginx官网文档http:
//nginx.org/en/docs/
##2:
nginx之location的匹配规则
location/{
roothtml;
indexindex.htmlindex.htm;
proxy_passhttp:
//tomcat;
#rewrite^/$/hiber/;
#rewrite根目录重定向到子目录下面去,默认是redirect301;
#rewrite^/ourspro/book/permanent;
#rewrite301
###代理演示
#location~^/baidu{
##proxy_passhttp:
//tomcat/baidu/;
##代理到upstream资质
//47.92.231.114/baidu;
##代理到固定ip
#rewrite^/baidupermanent;
##302永久重定向;
#对应的目录也里面的子目录也必须是:
/hiber/upload所有的图片不走tomcat,直接使用nginx进行访问了
#location~*^.+\.(gif|jpg|png|swf|flv|rar|zip)${
location/hiber/upload{
##缓存时间1d,或者24h,添加这;
responseheader增加:
Cache-Control:
max-age=6400、增加:
Expires:
Sun,07Jul201907:
25:
00GMT
expires10d;
####防盗链根据referers[从那个网站过来的访问]信息来处理$http_referer
###http:
//nginx.org/en/docs/http/ngx_http_referer_module.html文档首页搜索:
referer
###
###none允许没有refefer连接,可以直接访问。
###blocked意为根据防火墙伪装Referer头,如:
“Referer:
XXXXXXX”。
###server_names为一个或多个服务器的列表
###微信小程序referer校验"
###测试(-e后面的参数就是referer参数):
curl-e"
-Ihttps:
//www.jl-
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JAVA 开发 部署 文档
![提示](https://static.bingdoc.com/images/bang_tan.gif)