serverlinuxnginxtomcatmysqlhttps.docx

上传人:b****7 文档编号:24023154 上传时间:2023-05-23 格式:DOCX 页数:26 大小:43.31KB
下载 相关 举报
serverlinuxnginxtomcatmysqlhttps.docx_第1页
第1页 / 共26页
serverlinuxnginxtomcatmysqlhttps.docx_第2页
第2页 / 共26页
serverlinuxnginxtomcatmysqlhttps.docx_第3页
第3页 / 共26页
serverlinuxnginxtomcatmysqlhttps.docx_第4页
第4页 / 共26页
serverlinuxnginxtomcatmysqlhttps.docx_第5页
第5页 / 共26页
点击查看更多>>
下载资源
资源描述

serverlinuxnginxtomcatmysqlhttps.docx

《serverlinuxnginxtomcatmysqlhttps.docx》由会员分享,可在线阅读,更多相关《serverlinuxnginxtomcatmysqlhttps.docx(26页珍藏版)》请在冰豆网上搜索。

serverlinuxnginxtomcatmysqlhttps.docx

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

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1