Redis:KeyValue性数据库常作为缓存使用。 Nginx:高性能HTTP、反向代理web服务器,能支持高达5万并发连接,也常用于负载均衡服务使用。1、Redis部署 (1)解压tarzxvfredis5。0。7。tar。gz (2)编译、安装cdredis5。0。7mkdirlogsmakemakeinstallPREFIXhomeredis5。0。7 (3)修改redis配置vihomeredis5。0。7redis。conf 修改内容: 1)注释bind127。0。0。1(如果只有一台服务器,后端使用127。0。0。1连接也可以不注释) 2)允许后台静默运行,将:daemonizeno改成:daemonizeyes 3)修改日志路径 logfilehomeredis5。0。7logs6379。log 注意:要创建logs文件夹 4)连接密码,将:requirepassfoobared改为:requirepassxxx (4)配置redis服务vietcsystemdsystemredis。service 输入内容:〔Unit〕DescriptionRedis6379Aftersyslog。targetnetwork。target〔Service〕TypeforkingPrivateTmpyesRestartalwaysExecStarthomeredis5。0。7binredisserverhomeredis5。0。7redis。confExecStophomeredis5。0。7binredisclih127。0。0。1p6379ajconshutdownUserrootGrouprootLimitCOREinfinityLimitNOFILE100000LimitNPROC100000〔Install〕WantedBymultiuser。target (5)重载服务systemctldaemonreload (6)启动Redissystemctlstartredis 开机启动systemctlenableredis (7)测试cdhomeredis5。0。7bin。redisclih127。0。0。1p6379authXXX输入密码setaa1getaadelaaflushall 这里Redis就安装完成。2、Nginx部署 (1)安装依赖yuminstallgccc安装gcc的环境yuminstallypcrepcredevel安装pcre库yuminstallyzlibzlibdevel安装zlib库yuminstallyopensslopenssldevel安装openssl库 (2)解压tarzxvfnginx1。18。0。tar。gz (3)配置、编译、安装 prefixhomenginx为Nginx安装路劲,如果在nginx1。18。0同目录下安装会报错cdnginx1。18。0。configureprefixhomenginxmakemakeinstall (4)配置服务vietcsystemdsystemnginx。service 输入内容:〔Unit〕DescriptionnginxserviceAfternetwork。target〔Service〕TypeforkingExecStarthomenginxsbinnginxchomenginxconfnginx。confExecReloadhomenginxsbinnginxsreloadExecStophomenginxsbinnginxsquitPrivateTmptrue〔Install〕WantedBymultiuser。target (5)重载服务systemctldaemonreload (6)启动nginxsystemctlstartnginx 开机启动systemctlenablenginx (7)nginx配置开启进程数CPU数workerprocesses1;全局错误日志保存位置errorloglogserror。log;errorloglogserror。lognotice;errorloglogserror。loginfo;进程号保存文件pid。logsnginx。pid;events{每个进程最大连接数(最大连接连接数x进程数)workerconnections1024;}设定http服务器http{文件扩展名与文件类型映射表includemime。types;默认文件类型defaulttypeapplicationoctetstream;默认编码charsetutf8;日志文件输出格式,这个位置相于全局设置logformatmainremoteaddrremoteuser〔timelocal〕requeststatusbodybytessenthttprefererhttpuseragenthttpxforwardedfor;定义本虚拟主机的访问日志accessloglogsaccess。logmain;开启高效文件传输模式,sendfile指令指定nginx是否调用sendfile函数来输出文件,对于普通应用设为on,如果用来进行下载等应用磁盘IO重负载应用,可设置为off,以平衡磁盘与网络IO处理速度,降低系统的负载。注意:如果图片显示不正常把这个改成off。sendfileon;防止网络阻塞tcpnopushon;长连接超时时间,单位是秒keepalivetimeout65;开启gzip压缩输出gzipon;gzipproxiedany;最小压缩文件大小gzipminlength1k;压缩缓冲区gzipbuffers416k;压缩版本(默认1。1,前端如果是squid2。5请使用1。0gziphttpversion1。0;压缩等级gzipcomplevel6;压缩类型,默认就已经包含texthtml,所以下面就不用再写了,写上去也不会有问题,但是会有一个warn。gziptypestextplainapplicationjavascriptapplicationxjavascripttextcssapplicationxmltextjavascriptapplicationxhttpdphpimagejpegimagegifimagepng;gzipvaryon;gzipdisableMSIE〔16〕。;FastCGI相关参数是为了改善网站的性能:减少资源占用,提高访问速度。fastcgiconnecttimeout600;fastcgisendtimeout600;fastcgireadtimeout600;fastcgibuffersize128k;fastcgibuffers16128k;fastcgibusybufferssize128k;fastcgitempfilewritesize128k;fastcgicachevalid2003021h;fastcgicachevalid3011d;fastcgicachevalidany1m;fastcgicacheminuses1;fastcgicacheusestaleerrortimeoutinvalidheaderhttp500;反向代理配置proxyredirectoff;proxysetheaderHosthost;proxysetheaderXRealIPremoteaddr;后端的Web服务器可以通过XForwardedFor获取用户真实IPproxysetheaderXForwardedForproxyaddxforwardedfor;允许客户端请求的最大单文件字节数clientmaxbodysize100m;缓冲区代理缓冲用户端请求的最大字节数clientbodybuffersize256k;nginx跟后端服务器连接超时时间(代理连接超时)proxyconnecttimeout600;后端服务器数据回传时间(代理发送超时)proxysendtimeout180;连接成功后,后端服务器响应时间(代理接收超时)proxyreadtimeout600;设置代理服务器(nginx)保存用户头信息的缓冲区大小proxybuffersize16k;proxybuffers缓冲区,网页平均在32k以下的设置proxybuffers432k;高负荷下缓冲大小(proxybuffers2)proxybusybufferssize64k;设定缓存文件夹大小,大于这个值,将从upstream服务器传proxytempfilewritesize128k;proxynextupstreamerrortimeoutinvalidheaderhttp500http503http404;proxymaxtempfilesize256m;addheaderVaryAcceptEncoding;设定负载均衡的服务器列表upstreamtomcat8080{server127。0。0。1:8080weight1;}server{listen80;servernamelocalhost;charsetkoi8r;accessloglogshost。access。logmain;location{roothtml;indexindex。htmlindex。htm;}errorpage404404。html;redirectservererrorpagestothestaticpage50x。htmlerrorpage50050250350450x。html;location50x。html{roothtml;}proxythePHPscriptstoApachelisteningon127。0。0。1:80location。php{proxypasshttp:127。0。0。1;}passthePHPscriptstoFastCGIserverlisteningon127。0。0。1:9000location。php{roothtml;fastcgipass127。0。0。1:9000;fastcgiindexindex。php;fastcgiparamSCRIPTFILENAMEscriptsfastcgiscriptname;includefastcgiparams;}denyaccessto。htaccessfiles,ifApachesdocumentrootconcurswithnginxsonelocation。ht{denyall;}location{proxypasshttp:tomcat8080;proxysetheaderHosthost;proxysetheaderXRealIPremoteaddr;proxysetheaderXForwardedForproxyaddxforwardedfor;clientmaxbodysize100m;}}HTTPSserverserver{listen443ssl;servernamelocalhost;sslcertificatecert。pem;sslcertificatekeycert。key;sslsessioncacheshared:SSL:1m;sslsessiontimeout5m;sslciphersHIGH:!aNULL:!MD5;sslpreferservercipherson;location{roothtml;indexindex。htmlindex。htm;}}} 修改配置后,重载nginx配置systemctlreloadnginx 直接通过80端口,可以访问Tomcat了 到这里,JavaWeb项目部署涉及的环境基本部署好了。下期,我们创建一个简易的JavaWeb项目,部署到当前的环境中。