Linux基本服务Tomcat

tomcat

  tomcat 是java的网站服务,不过现在java都是用开源jkd,即open-jdk

   装包,先要装好java的环境:
    yum –y install  java-1.8.0-openjdk java-1.8.0-openjdk-headless 
   装好后可以查看一些java版本信息  java -version

   可以yum下载,不过建议可以使用升级的tomcat,在资源中有具体分享,进行tar解压后把其放入/usr/local/下改名为tomcat即可

   这个目录中的子目录内容为:

bin/ 主程序目录,里面的startup.sh用于启动tomcat
lib/ 库文件目录
logs/ 日志目录  
temp/ 临时目录
work/ 自动编译目录jsp代码转换servlet
conf/ 配置文件目录
webapps/ 页面目录

   不过tomcat的启动有些bug,可能启动程序显示启动成功,但netstat -ntlup查看的时候发现tomcat的8005端口没有开启,这就有问题,其原因是生成随机值速度慢,可以等1-3分钟,如果还是不行就用下面的解决方案:

mv /dev/random  /dev/random.bak
ln -s /dev/urandom  /dev/random 

XML语言

  语法一:
    <模块名 模块配置1 模块配置2>
       模块配置3
       模块配置4
    </模块名>

  语法二:
    <模块名 模块配置1 模块配置2 />
  
  注释的语法是:
   <!--
     被注释的部分内容
   -->
   两个语法都是一个意思,不过,两个平级模块不能嵌套在一起,每个部分都要是一个整体


tomcat的配置文件:
   tomcat/conf/server.xml,其中的语法格式和XML的一样

<Server>
   <Service>
     <Connector port=8080 />        # 定义端口
     <Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol" maxThreads="150" SSLEnabled="true" scheme="https" secure="true" keystoreFile="密钥对" keystorePass="密码" clientAuth="false" sslProtocol="TLS" />
     <Engine name="Catalina" defaultHost="域名">        # 定义虚拟主机群
       <Host name="域名" appBase="为指" unpackWARS="true" autoDeploy="true">    # 定义虚拟主机
          <Valve className="org.apache.catalina.valves.AccessLogValve" directory="位置"  prefix=" 日志名" suffix=".txt"  pattern="%h %l %u %t &quot;%r&quot; %s %b" />        # 日志文件定义
          <Context path="/地址" docBase="base" reloadable="true"/>    # 对于客户段访问的地址的转发
       </Host>
    </Engine>
  </Service>
</Server>

  模块体系结构:

server
service 提供服务
Connector port=端口

Engine

其中defaultHost定义下面的所有虚拟主机的默认访问

  Host Host ……
虚拟主机1 虚拟主机2  
Valve  定义日志信息  
Context
针对客户端地址的转发1

Context

针对客户端地址的转发2

  内容解释:(里面所有的位置,如果写相对路径都是从tomcat所在的目录开始,绝对路径就是服务器中的绝对路径)
  1. Connector port=端口号
       这就完成端口监听的定义。

  2. Engine name="Catalina" defaultHost="localhost"
       name是指虚拟主机群的名字; 
       defaultHost指的是当没有客户端要求的域名的时候默认哪个虚拟主机。

  3. Host name="localhost" appBase="a" unpackWARS="true" autoDeploy="true"
       name是指域名; 
       appBase是指网站根目录。

  4. Valve className="org.apache.catalina.valves.AccessLogValve" directory="位置" prefix=" 日志名" suffix=".txt" pattern="%h %l %u %t &quot;%r&quot; %s %b"
       className指记录的是什么模块的,默认写的是登陆日志;
       directory指日志保存的位置;
       prefix指日志定义的名字; 
       suffix指日志文件的后缀名; 
       pattern指的记录的内容。

   5. Context path="/地址" docBase="base" reloadable="true"
       path指客户端输入的目标地址,如果path设置的指为空,则代表输入域名的根目录进行修改;
       docBase指当用户输入目标地址后,前往哪个地址查看网页文件。

   6. 安全的tomcat
    先生成密钥对: keytool -genkeypair -alias 名字 -keyalg RSA(算法,也可以是CSA) -keystore 密钥对位置/密钥名字
    再写端口的信息即可,上面有写,就不阐释了,在访问的时候要著明端口号

  tomcat和其他http服务,其特殊的地方:
    1. tomcat的端口和虚拟主机无关,客户访问是通过任意一个端口就可以访问所有的虚拟主机,如果作安全的web,只要是从安全web的端口进来访问,所有的网站都是安全的web。

    2. tomcat的端口,一般的http是80,tomcat是8080;一般的安全的web是443,tomcat是8443,所以用浏览器访问的时候,记得要在IP或者域名后面加上段口号

   如果需要用nginx代理tomcat的web服务器,具体操作和nginx代理一个http服务器一模一样,只不过在upstream中写server的时候,后面的端口改成8080或者8443即可。


Varnish 缓存服务器

  用于CDN的网站加速,一般的公司,用腾讯或者阿里的CDN,自己搭建代价比较大,具体搭建过程不难,需要一个yum不能安装的包,所以具体的资源,在本blog会上传,具体装包过程
  装包:yum -y install gcc readline-deve ncurses-devel pcre-devel python-docutils-0.11-0.2.20130715svn7687.el7.noarch.rpm
  然后创建一个用户:useradd -s /sbin/nologin varnish 
  对源码包进行源码编译:解包,配置,编译,安装即可

  复制配置文件,位置无所谓,都可以,在后面的启动的时候会要求制定
  cp  etc/example.vcl   /usr/local/etc/default.vcl

  之后修改配置文件 /usr/local/etc/default.vcl
  backend default {
     .host = "192.168.2.100";
     .port = "80";
   }   

  启动服务:varnishd  -f /usr/local/etc/default.vcl
          –s malloc,128M    # 定义varnish使用内存作为缓存,空间为128M
          –s file,/var/lib/varnish_storage.bin,1G    # 定义varnish使用文件作为缓存

  日志
    varnishlog    # varnish日志
    varnishncsa   # 访问日志
    varnishadm    # 交互式清除缓存,再ban req.url ~ .*

猜你喜欢

转载自blog.csdn.net/Yu1543376365/article/details/82890830
今日推荐