一、搭建基于域名的虚拟主机

1、查看配置文件

  1. [root@tomcat142 local]# ls /usr/local/tomcat/conf/
  2. Catalina catalina.properties jaspic-providers.xml logging.properties tomcat-users.xml web.xml
  3. catalina.policy context.xml jaspic-providers.xsd server.xml tomcat-users.xsd
server.xml 是Tomcat的主配置文件(全局),服务器设置的,例如端口设置,路径设置。
context 里设置tomcat数据源,用来连接数据库。
tomcat_user 主要是用户名和密码的设置。
web 是默认首页等等之类的设置

2、更改配置文件创建主目录

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

  1. <Host name="www.yu62.cn" appBase="/var/www/html">
  2. <Context path="" docBase="/var/www/html/web1" />
  3. </Host>
  4. <Host name="www.yu62.com" appBase="/var/www/html">
  5. <Context path="" docBase="/var/www/html/web2" />
  6. </Host>

#在末尾的上面添加上面这几行
image.png

appBase 指定应用程序(网站)的基本路径,这里可以存放多个程序(网站),一般是相对路径,相对于tomcat的安装目录。
Context path=”” 为虚拟目录,如果是空,表示直接就是/,如果是如path=”aa”,那么访问的时候就是site:8080/aa
docBase=”……” 为实际目录,就是可以是绝对路径,如果是相对路径就是基于appBase


3、启动服务

service tomcat stop ; service tomcat start

4、测试

创建测试文件

  1. mkdir -p /var/www/html/{web1,web2}
  2. echo yu62.com > /var/www/html/web1/index.html
  3. echo yu62.cn> /var/www/html/web2/index.html


添加域名解析

客户机host文件添加如下:
在Windows上打开我的电脑,在路径框中输入**C:\Windows\System32\drivers\etc\hosts**或者centos /etc/hosts
在末尾处添加如下

  1. 192.168.8.142 yu62.cn
  2. 192.168.8.142 yu62.com

网页测试

yu62.com:8080
image.png
yu62.cn:8080
image.png
补充:真实的生产环境中,需要一个合法的域名和一个合法的公网IP,把域名解析到IP上,然后在web服务器里修改配置文件

二、安装Tomcat-Native

Tomcat 可以使用 apr 来提供更好的伸缩性、性能和集成到本地服务器技术。用来提高 tomcat 的性能。 tomcat native 在具体的运行平台上,提供了一种优化技术,它本身是基于 ARP(Apache Portable(轻便) Runtime)技术
我们应用了 tomcat native 技术之后,tomcat 在跟操作系统级别的交互方面可以做得更好,并且它更像apache 一样,可以更好地作为一台 web server。 tomcat 可以利用 apache 的 apr 接口,使用操作系统的部分本地操作,从而提升性能APR 提升的是静态页面处理能力
注意:这个包在tomcat8的bin 目录已经提供
关于tomcat-native的相关介绍及下载: http://tomcat.apache.org/download-native.cgi

1、解决依赖并安装Tomcat-Native

[root@tomcat142~]# yum -y install apr-devel gcc gcc-c++ openssl-devel openssl
[root@tomcat142 ~]# cd /usr/local/tomcat/bin/
[root@tomcat142 bin]# cp tomcat-native.tar.gz /usr/local/
[root@tomcat142 bin]# cd /usr/local/
[root@tomcat142 local]# tar xf tomcat-native.tar.gz -C /usr/local/src/
[root@tomcat142 local]# cd /usr/local/src/
[root@tomcat142 src]# cd tomcat-native-1.2.18-src/native/
[root@tomcat142 native]# ./configure —with-apr=/usr/ —with-java-home=/usr/local/java —with-ssl
[root@tomcat142 native]# make && make install

安装完:提示:
image.png

2、需要添加库文件:

[root@tomcat142 native]# vim /etc/ld.so.conf #编辑库的配置文件,添加如下
/usr/local/apr/lib #添加此行
[root@tomcat142 native]# ldconfig #重新加载库文件
[root@tomcat142 native]# echo “ldconfig” >>/etc/rc.local

3、添加环境变量

[root@tomcat142 native]# vim /etc/profile.d/tomcat_java.sh #在文件最后添加如下
image.png

4、重读变量件,使变量生效

[root@tomcat142 native]# source /etc/profile.d/tomcat_java.sh

5、配置Tomcat 默认以apr运行模式

tomcat中一共有三种运行模式,分别是:bio,nio,apr

bio 是阻塞式IO操作,使用的是传统的java i/o处理方式,对于每一个请求都要创建一个线程来进行处理,所以开销较大不适合处理高并发的场景
nio 是基于java中非阻塞IO操作的API实现,比传统的i/o处理方式有更高的并发运行性能,
apr 是从操作系统级别解决异步IO问题,大幅度提高服务器的并发处理性能,也是Tomcat生产环境运行的首选方式


a 编辑主服务文件,指定处理协议为apr

[root@tomcat142 native]# vim /usr/local/tomcat/conf/server.xml
将默认的第69行中的: protocol=”HTTP/1.1”
修改为:protocol=”org.apache.coyote.http11.Http11AprProtocol”
image.png

b 引用apr

[root@tomcat142 native]# vim /usr/local/tomcat/bin/catalina.sh
253行下面添加:
JAVA_OPTS=”$JAVA_OPTS -Djava.library.path=/usr/local/apr/lib”
image.png

c 重启服务生效

[root@tomcat142 native]# service tomcat stop ; service tomcat start

d 看日志看是否支持native

[root@tomcat142 native]# cat /usr/local/tomcat/logs/catalina.out | grep Native
13-Nov-2018 17:00:10.059 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: [/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib]
13-Nov-2018 17:27:05.364 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent Loaded APR based Apache Tomcat Native library [1.2.18] using APR version [1.4.8].