serverlinuxnginxtomcatmysqlhttps.docx
- 文档编号:24023154
- 上传时间:2023-05-23
- 格式:DOCX
- 页数:26
- 大小:43.31KB
serverlinuxnginxtomcatmysqlhttps.docx
《serverlinuxnginxtomcatmysqlhttps.docx》由会员分享,可在线阅读,更多相关《serverlinuxnginxtomcatmysqlhttps.docx(26页珍藏版)》请在冰豆网上搜索。
serverlinuxnginxtomcatmysqlhttps
系统安装维护手册
Keywords:
虚拟机、NFS、Nginx、Tomcat、MySQL、动静读写分离、HTTPS(SSL)、负载均衡、双机热备、Oracle数据备份。
版本号
更新时间
作者
更新内容
V0.1
2015-08-13
殷华
建立文档
V0.2
2015-08-14
殷华
确定大致内容与目录
V0.3
2015-08-17
殷华
填写JDK\Tomcat、与nginx安装
V0.4
2015-08-18
殷华
增加nginx配置部分
V0.5
2015-08-20
殷华
增加目录设置建议
V0.6
2015-08-26
殷华
增加KVM、NFS的配置
V0.7
2015-09-06
殷华
增加Https的相关配置
V0.8
2015-09-11
殷华
修改nginx配置部分
V0.9
2015-11-16
殷华
修改nfs配置部分
一、目录汇总说明
为了方便运维管理,暂定如下目录使用方式:
1、/主目录/环境部署的总前置路径
2、/主目录/bak各种环境搭建所需安装软件、工程代码、数据的备份
3、/主目录/prog所额外安装软件的目录
4、/主目录/logs应用所产生日志的保存路径
5、/主目录/data数据库(若该服务器存在)数据文件存储目录
6、/主目录/webs各web文件(若该服务器存在)的存放路径
注:
新建主目录建议以工程或者企业缩写为目录名。
二、支撑环境的安装与配置
一)JDK与Tomcat的安装与配置说明
1、JDK需安装1.7(7.0)以上版本,本系统安装版本为1.7.0_79,建议安装在/主目录/prog/下,并建立新的链接,/主目录/prog/java指向JDK所安装的目录。
2、Tomcat需安装7.0以上版本,本系统安装版本为7.0.62。
为了方便运维管理:
①在Tomcat安装后,将logs目录通过软链接的形式链接到指定目录。
Linux系统命令例:
ln–s/主目录/logs/weblogs//主目录/prog/tomcat7.x/logs
②在conf目录server.xml中,将webapps目录改为/主目录/webs/下,以银税通为例,将webapps目录设为/主目录/webs/www.yinshuitong
③若是将tomcat通过在/etc/init.d(etc/rc.d/init.d)下建服务脚本或者rc.local加启动命令实现自动启动,建议在tomcat中bin目录中的catalina.sh文件中(前面的位置),添加JAVA_HOME=/home/bwjr/prog/java
3、Tomcat性能方面的配置
1在Tomcat目录中bin目录下catalina.sh文件,修改或添加:
JAVA_OPTS="-server-Xms3072m-Xmx3072m-XX:
SurvivorRatio=4-XX:
PermSize=192M-XX:
MaxPermSize=192m"
2在Tomcat目录中conf目录下server.xml文件,修改connector方式:
参考一个四种connector的性能测试
NIO
HTTP
POOL
NIOP
1
281
65
208
365
2
666
66
110
398
3
692
65
66
263
4
256
63
94
459
5
440
67
145
363
sum
2335
326
623
1848
在该系统运行环境中,采用NIO方式,即在server.xml中使用如下配置:
maxThreads="500"minSpareThreads="2"maxSpareThreads="15"connectionTimeout="20000"redirectPort="8443"acceptCount="1500"/> 4、Tomcat与nginx整合的配置 在通过apache或者nginx做前面的反向代理时,增加下面一条配置,可以使用request的getRemoteAddr()方法获取正确来访ip remoteIpHeader="X-Forwarded-For"/> ……(此处为省略的其他配置) 若是nginx层使用https协议(而且tomcat不使用,即SSL的加解密由nginx全部完成),采用下面的配置项(注意与nginx的属性名对应) remoteIpHeader="X-Forwarded-For"remoteIpProxiesHeader="x-forwarded-by" protocolHeader="x-forwarded-proto"/> ……(此处为省略的其他配置) 二)Nginx安装与配置 为了优化性能,安装‘阿里’公司基于nginx二次开发的tengine。 (Nginx的配置可应用在Tengine中) 1、安装nginx(Tengine) 在http: //tengine.taobao.org/download_cn.html下载合适版本Tenginx(银税通使用2.1.1版本) tar-zxftengine-2.1.0.tar.gz cdtengine-2.1.0 编译安装tenginx,需要gcc-c++等工具的支持: yuminstallgcc-c++openssl-develpcre-devel ①进行编译配置,合理选择所支持功能模块,以银税通为例: ./configure--prefix=/home/bwjr/prog/tenginx--user=zw--group=zw--with-http_stub_status_module--with-http_ssl_module--with-http_gzip_static_module--with-http_concat_module--without-http_fastcgi_module--without-http_scgi_module 注: 由于该系统有部分业务支持用户上传非图片文件,请不要安装多余模块,以免产生漏洞。 ②查看CPU核心数(注: 下面命令查询的是逻辑核心数) cat/proc/cpuinfo|grepprocessor|wc–l ③按照核心数进行编译安装(以6核支持超线程的CPU为例,即12个逻辑核) make-j12;makeinstall;makeclean 注: 若是CPU核数经常变动(比如虚机的情况),可以不按照CPU核数安装,默认安装即可。 2、配置nginx自启动(使用一下脚本,适当调整里面的路径) #! /bin/sh # #nginx-thisscriptstartsandstopsthenginxdaemin # #chkconfig: -8515 #description: NginxisanHTTP(S)server,HTTP(S)reverse\ #proxyandIMAP/POP3proxyserver #processname: nginx #config: /usr/local/nginx/conf/nginx.conf #pidfile: /usr/local/nginx/logs/nginx.pid #Sourcefunctionlibrary. ./etc/rc.d/init.d/functions #Sourcenetworkingconfiguration. ./etc/sysconfig/network #Checkthatnetworkingisup. ["$NETWORKING"="no"]&&exit0 #请适当调整下面的路径 nginx="/home/bwjr/prog/tenginx/sbin/nginx" NGINX_CONF_FILE="/home/bwjr/prog/tenginx/conf/nginx.conf" prog=$(basename$nginx) lockfile=/var/lock/subsys/nginx start(){ [-x$nginx]||exit5 [-f$NGINX_CONF_FILE]||exit6 echo-n$"Starting$prog: " daemon$nginx-c$NGINX_CONF_FILE retval=$? echo [$retval-eq0]&&touch$lockfile return$retval } stop(){ echo-n$"Stopping$prog: " killproc$prog-QUIT retval=$? echo [$retval-eq0]&&rm-f$lockfile return$retval } restart(){ configtest||return$? stop start } reload(){ configtest||return$? echo-n$"Reloading$prog: " killproc$nginx-HUP RETVAL=$? echo } force_reload(){restart} configtest(){$nginx-t-c$NGINX_CONF_FILE} rh_status(){status$prog} rh_status_q(){rh_status>/dev/null2>&1} case"$1"in start) rh_status_q&&exit0 $1 ;; stop) rh_status_q||exit0 $1 ;; restart|configtest) $1 ;; reload) rh_status_q||exit7 $1 ;; force-reload) force_reload ;; status) rh_status ;; condrestart|try-restart) rh_status_q||exit0 ;; *) echo$"Usage: $0{start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}" exit2 esac #将以上保存为文件,置于/etc/rc.d/init.d/目录下,执行chkconfignginxon; 注: 该服务脚本配置了reload方法,即修改配置后,可以不通过重启,而是通过reload加载新的配置。 3、配置nginx 基于经验与实验,以银税通为例,配置如下: #usernobody; worker_processesauto; #进程对CPU核的绑定 #worker_cpu_affinityauto; worker_rlimit_nofile655350; error_loglogs/error.log; #error_loglogs/error.lognotice; #error_loglogs/error.loginfo; pid./nginx.pid; events{worker_connections5120;} http{ includemime.types; default_typeapplication/octet-stream; log_formatmain'$remote_addr$http_host-$remote_user[$time_local]"$request"''"$status"$body_bytes_sent"$http_referer"''"$http_user_agent""$http_Accept"'; #access_loglogs/access.logmain;error.log #autoindexoff;#禁止列目录(默认即是关闭,可以没有这一行) sendfileon; #tcp_nopushon; keepalive_timeout65; #定制(伪装)所显示的服务器类型与版本 server_tagIIS/11.1; gzipon; gzip_disable"msie6"; #压缩等级1-9,9最慢压缩比最大。 gzip_comp_level3; gzip_buffers416k; gzip_proxiedexpiredno-cacheno-storeprivateauth; #需要压缩的数据格式 gzip_typestext/plainapplication/x-javascripttext/cssapplication/xmltext/xmlapplication/x-www-form-urlencoded; output_buffers132k; postpone_output1460; client_max_body_size300m; #限速(前1M下载时不限速) limit_rate_after1m; limit_rate512k; #Sever的配置(为了易读易配,将server部分以include方式配置) includevhosts/banktax.conf; } #文件banktax.conf内容 upstreamblworker{ #tengine支持使用额外增加的cookie实现会话保持 session_stickycookie=DistrIDmode=insertfallback=on; server10.0.0.11: 8080weight=1max_fails=2fail_timeout=30s; server10.0.0.12: 8080weight=1max_fails=2fail_timeout=30s; server10.0.0.13: 8080weight=1max_fails=2fail_timeout=30s; } server{ listenlocalhost: 80; server_namelocalhost; #charsetkoi8-r; access_loglogs/bt.access.logmain; ######统一所访问的域名"/"###### if($host=''){ rewrite^/(.*)$permanent;} if($host=''){ rewrite^/(.*)$permanent;} if($host='www.yinshuitong.org'){ rewrite^/(.*)$permanent;} ######自动补全"/"###### if(-d$request_filename){ rewrite^/(.*)([^/])$http: //$host/$1$2/last;} ########设定一些特殊WEB应用经过tomcat或者指向空######### location^~/cms/{ proxy_set_headerHost$host: $server_port; proxy_set_headerX-Forwarded-For$remote_addr; proxy_passhttp: //blworker;} location^~/manager/{ alias/主目录/webs/} location^~/files/{ #indexindex.htmlindex.htm; alias/主目录/webs/} ########设定访问静态文件直接读取不经过tomcat######### location~.*\.(htm|html|gif|jpg|jpeg|png|bmp|swf|ioc|rar|zip|txt|flv|mid|doc|ppt|pdf|xls|mp3|wma)${ root/主目录/webs/ expires15d;} location~.*\.(js|css)? ${ root/主目录/webs/ expires1h;} ########动态访问转向tomcat处理####################### location/{ proxy_set_headerHost$host: $server_port; proxy_set_headerX-Forwarded-For$remote_addr; proxy_passhttp: //blworker;} #error_page404/files/404.html; #拒绝访问.htaccess文件 #location~/\.ht{denyall;} } Nginx若是使用https,且由nginx全部完成SSL部分的加解密,配置如下: #HTTPSserver server{ listen443ssl; server_namelocalhost; ssl_certificate/主目录/webs/yinshuitong.crt; ssl_certificate_key/baiwang/webs/yinshuitong.key; ssl_session_cacheshared: SSL: 1m; ssl_session_timeout5m; ssl_ciphersHIGH: ! aNULL: ! MD5; ssl_prefer_server_cipherson; #一些优化的配置同上(略) location/{ proxy_set_headerHost$http_host; #proxy_set_headerX-Forwarded-For$proxy_add_x_forwarded_for; proxy_set_headerX-Forwarded-For$remote_addr; proxy_set_headerX-Forwarded-Protohttps; proxy_redirectoff; proxy_connect_timeout240; proxy_send_timeout240; proxy_read_timeout240; ### proxy_passhttp: //blworker; } } 测试时,使用如下命令,生成crt与key文件(按照命令执行情况提示填写) opensslgenrsa-des3-outserver.key1024 opensslreq-new-keyserver.key-outserver.csr opensslrsa-inserver.key-outbanktax.key opensslx509-req-days365-inserver.csr-signkeybanktax.key-outbanktax.crt 注: 因为这是自己生成并签名的证书,所以使用浏览器访问时会提示证书有问题。 三)MySQL的安装与配置 1、安装 本系统采用版本为5.6.25(注: 5.6.x以上版本对子查询进行了优化,但无法与5.5.x以下的版本,直接通过目录拷贝进行数据迁移,其存储的数据格式有显著不同),采用编译安装方式。 (编译安装依赖cmake、ncurses-devel等,其他依赖请在cmake时,按提示安装) yuminstallncurses-devel cmake-DCMAKE_INSTALL_PREFIX=/主目录/prog/mysql5.6.25-DMYSQL_UNIX_ADDR=/var/lib/mysql/mysql.sock-DWITH_MYISAM_STORAGE_ENGINE=1-DWITH_INNOBASE_STORAGE_ENGINE=1-DWITH_MEMORY_STORAGE_ENGINE=1-DWITH_READLINE=1-DENABLED_LOCAL_INFILE=1-DMYSQL_DATADIR=/主目录/data/mysqldb-DMYSQL_USER=mysql-DMYSQL_TCP_PORT=3306 make;makeinstall;makeclean 安装后对DB目录进行初始化: cd/主目录/prog/mysql5.6.25/ ./scripts/mysql_install_db--datadir=/主目录/data/mysqldb--user=mysql--basedir=/主目录/prog/mysql5.6.25 2、使用脚本设置为服务 c
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- serverlinuxnginxtomcatmysqlhttps
![提示](https://static.bdocx.com/images/bang_tan.gif)