优化nginx.conf

全局并发量


http{

版本号

tcp delay

keepalive

gzip length

gzip types

client head buffer 1k

cache


客户端浏览器缓存:

location \.(jpj|flv|pdf)

expires 30d;



error_page 400 401 402 405 /e.html

error_page 414 /b.html



_________________________________________________________________________________________________________________________________________________________


LNMP (linux nginx mysql php)


LAMP (linux apache mysql php)





LTMJ (linux tomcat mysql java )










Tomcat--》java


安装java 解包tomcat库文件 打开服务 端口号是8080


[root@web1 ~]# tar -zxf lnmp_soft-2016-8-9.tar.gz


[root@web1 ~]# cd lnmp_soft


[root@web1 lnmp_soft]# rpm -ivh jdk-8u77-linux-x64.rpm


[root@web1 lnmp_soft]# java -version

java version "1.8.0_77"

Java(TM) SE Runtime Environment (build 1.8.0_77-b03)

Java HotSpot(TM) 64-Bit Server VM (build 25.77-b03, mixed mode)

[root@web1 lnmp_soft]#



[root@web1 lnmp_soft]# tar -zxf apache-tomcat-8.0.30.tar.gz

[root@web1 lnmp_soft]# mv apache-tomcat-8.0.30 /usr/local/tomcat (tomcat是jave写的代码,想要跑它只要电脑里有一个jave,tomcat里面很多库文件,就像一个shell脚本 只要有一个bash就能跑,而脚本不用安装)



[root@web1 lnmp_soft]# cd /usr/local/tomcat/



[root@web1 tomcat]# ls

bin lib logs RELEASE-NOTES temp work

conf LICENSE NOTICE RUNNING.txt webapps

[root@web1 tomcat]# cd bin

[root@web1 bin]# ls


shutdown.sh(关闭服务脚本) startup.sh(启动) catalina.sh(关闭启动)


[root@web1 bin]# ./catalina.sh start 启服务


验证:

[root@web1 bin]# firefox http://192.168.2.100:8080 (tomcat端口号是8080,)


____________________________________________________________________________________________________________________________________________________________________________


实验1:



[root@web1 ROOT]# vim /usr/local/tomcat/webapps/ROOT/test.jpj


<html>

<body>

<center>

AAAAAAAAAAAAAAAAAAAAA

</center>

</body>

</html>

[root@web1 ROOT]# firefox http://192.168.2.100:8080/test.jpj

AAAAAAAAAAAAAAAAAAAA

[root@web1 ROOT]# firefox http://192.168.2.100:8080(默认的话是出现下面index.html网页)

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------


实验2:(多个web虚拟主机)


[root@web1 conf]# cd /usr/local/tomcat/conf/

[root@web1 conf]# ls

Catalina context.xml tomcat-users.xml

catalina.policy logging.properties tomcat-users.xsd

catalina.properties server.xml web.xml

[root@web1 conf]# vim server.xml (主配置文件)


<Engine name="Catalina" defaultHost="localhost"> (若访问时输入的不是域名是IP,那这里写的域名主机就是那IP访问的)

........................................

<Realm className="org.apache.catalina.realm.UserDatabaseRealm"

resourceName="UserDatabase"/>

</Realm>

<Host name="www.a.com" appBase="a" (www.a.com)

unpackWARs="true" autoDeploy="true">

</Host>

<Host name="www.b.com" appBase="b" (www.b.com)

unpackWARs="true" autoDeploy="true">

</Host>


<Host name="localhost" appBase="webapps"

unpackWARs="true" autoDeploy="true">





#mkdir /usr/local/tomcat/{a,b}

#mkdir /usr/local/tomcat/{a,b}/ROOT

#echo "AaA" > /usr/local/tomcat/a/ROOT/tea.jpj

#echo "BbB" > /usr/local/tomcat/b/ROOT/teb.jpj





[root@proxe ~]# vim /etc/hosts

192.168.2.100 www.a.com www.b.com www.c.com


[root@proxe ~]# firefox http://www.b.com:8080/tea.jpj (有时需要把所有打开的火狐浏览器关了,才有效果) 端口后面接文件不然默认打开的是index.html

[root@proxe ~]# firefox http://www.a.com:8080/teb.jpj


————————————————————————————————————————————————————————————————————————————————



实验3:(定义网页存放路径)



[root@web1 ~]# vim /usr/local/tomcat/conf/server.xml


<Host name="www.a.com" appBase="a"

unpackWARs="true" autoDeploy="true">

<Context path="" docBase="base" reloadable="true"/>

</Host>

# mkdir /usr/local/tomcat/a/base

# echo "base" >/usr/local/tomcat/a/base/index.html

# /usr/local/tomcat/bin/catalina.sh stop

# /usr/local/tomcat/bin/catalina.sh start


[root@proxe ~]# firefox http://www.a.com:8080

base

——————————————————————————————————————————————————————————--


实验4:(定义打开时用文件/test,实际文件内容保存位置另一地方)


[root@web1 bin]# vim /usr/local/tomcat/conf/server.xm

<Host name="www.a.com" appBase="a"

unpackWARs="true" autoDeploy="true">

<Context path="/test" docBase="/var/www/html/"/>

</Host>

[root@web1 bin]# echo "test" >/var/www/html/index.html

[root@web1 bin]# /usr/local/tomcat/bin/shutdown.sh

[root@web1 bin]# /usr/local/tomcat/bin/startup.sh




[root@proxe ~]# firefox www.a.com:8080/test

test


————————————————————————————————————————————————————————————————————

实验5:




[root@web1 bin]# mkdir /usr/local/tomcat/ssl


[root@web1 bin]# keytool -genkeypair -alias tomcat -keyalg RSA -keystore /usr/local/tomcat/ssl/keystore

[root@web1 bin]# vim /usr/local/tomcat/conf/server.xml



<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol"

maxThreads="150" SSLEnabled="true" scheme="https" secure="true"

keystoreFile="/usr/local/tomcat/ssl/keystore" keystorePass="123456"

clientAuth="false" sslProtocol="TLS" />

<Host....

</Host>

[root@web1 bin]# /usr/local/tomcat/bin/catalina.sh stop

[root@web1 bin]# /usr/local/tomcat/bin/catalina.sh start




[root@proxe ~]# firefox https:www.a.com:8443

[root@proxe ~]# firefox https://192.168.2.100:8443

[root@proxe ~]# firefox https://www.b.com:8443

都是加密的 ------》》原因是tomcat做加密是对端口8043加密,不是对哪一个网站加密。这与ngins网站加密有区别。『<Connector port="8443".....

<Host.... </Host> 』


++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

配密钥帮助:

[root@web1 bin]# keytool -h

非法选项: -h

密钥和证书管理工具


命令:


-certreq 生成证书请求

-changealias 更改条目的别名

-delete 删除条目

-exportcert 导出证书

-genkeypair 生成密钥对

-genseckey 生成密钥

-gencert 根据证书请求生成证书

-importcert 导入证书或证书链

-importpass 导入口令

-importkeystore 从其他密钥库导入一个或所有条目

-keypasswd 更改条目的密钥口令

-list 列出密钥库中的条目

-printcert 打印证书内容

-printcertreq 打印证书请求的内容

-printcrl 打印 CRL 文件的内容

-storepasswd 更改密钥库的存储口令

使用 "keytool -command_name -help" 获取 command_name 的用法

[root@web1 bin]# keytool -genkeypair -h

非法选项: -h

keytool -genkeypair [OPTION]...


生成密钥对


选项:


-alias <alias> 要处理的条目的别名

-keyalg <keyalg> 密钥算法名称

-keysize <keysize> 密钥位大小

-sigalg <sigalg> 签名算法名称

-destalias <destalias> 目标别名

-dname <dname> 唯一判别名

-startdate <startdate> 证书有效期开始日期/时间

-ext <value> X.509 扩展

-validity <valDays> 有效天数

-keypass <arg> 密钥口令

-keystore <keystore> 密钥库名称

-storepass <arg> 密钥库口令

-storetype <storetype> 密钥库类型

-providername <providername> 提供方名称

-providerclass <providerclass> 提供方类名

-providerarg <arg> 提供方参数

-providerpath <pathlist> 提供方类路径

-v 详细输出

-protected 通过受保护的机制的口令


使用 "keytool -help" 获取所有可用命令


++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

————————————————————————————————————————————————————————————————————————




给网站做日志:


[root@web1 logs]# vim /usr/local/tomcat/conf/server.xml

<Host name="www.a.com" appBase="a"

unpackWARs="true" autoDeploy="true">

<Context path="/test" docBase="/var/www/html/"/>


<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"

prefix="a.com" suffix=".txt"

pattern="%h %l %u %t &quot;%r&quot; %s %b" />


</Host>


[root@web1 logs]# /usr/local/tomcat/bin/catalina.sh stop

[root@web1 logs]# /usr/local/tomcat/bin/catalina.sh start

[root@web1 logs]# ls

a.com.2017-02-20.txt (生成www.a.com网站日志) localhost.2017-02-20.log

catalina.2017-02-20.log localhost_access_log.2017-02-20.txt

catalina.out manager.2017-02-20.log

host-manager.2017-02-20.log



[root@proxe ~]# firefox http://www.a.com:8080


[root@web1 logs]# cat -n a.com.2017-02-20.txt |wc -l

4

[root@web1 logs]# tailf a.com.2017-02-20.txt


。。。。。。。。。


++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++




tomcat进程优化:

#vim tomcat/conf/server.xml

... ...

<Connector port=“8080“

protocol="HTTP/1.1“

maxThreads="1000“

//最大线程数

minSpareThreads="100“

//最少空闲进程

maxSpareThreads="1000“

//最大空闲进程

enableLookups="false“

//不对客户端IP进行反向DNS解析

URIEncoding="utf-8“

//编码

acceptCount="1000“

//监听端口队列最大数

/>



调整Java虚拟机内存:

#vim /usr/local/tomcat/bin/catalina.sh


249行:添加如下内容

JAVA_OPTS="-Djava.awt.headless=true -Dfile.encoding=UTF-8 -server -Xms1024m -Xmx1024m"


|++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++