您的位置:首页 > 运维架构 > Tomcat

5 lombok使用+maven环境隔离+tomcat集群+nginx

2018-03-20 17:28 351 查看

lombok原理

优势:优化代码,提高开发效率



引入lombok

<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.18</version>
</dependency>
开始使用
@Data   自动创建getset方法,并且重写tostring和equ,hashcode方法
@NoArgsConstructor 创建无参的构造器

@AllArgsConstructor 创建有参的构造器
@Slf4j 除了log4j之外的用这个
@Log4j 
of:指定需要的变量。exclude:排除不需要的变量
lombok本质上就是这样的一个实现了"JSR 269 API"的程序。在使用javac的过程中,它产生作用的具体流程如下:
1)javac对源代码进行分析,生成一棵抽象语法树(AST)
2)运行过程中调用实现了"JSR 269 API"的lombok程序
3)此时lombok就对第一步骤得到的AST进行处理,找到@Data注解所在类对应的语法树(AST),然后修改该语法树(AST),增加getter和setter方法定义的相应树节点
4)javac使用修改后的抽象语法树(AST)生成字节码文件,即给class增加新的节点(代码块)

maven

maven 环境隔离
dev:本地环境,beta:测试环境,prod:线上环境
maven pom.xml的配置 <!--maven环境隔离 -->
<resources>
<resource>
<directory>src/main/resources.${deploy.type}</directory>
<excludes>
<exclude>*.jsp</exclude>
</excludes>
</resource>
<resource>
<directory>src/main/resources</directory>
</resource>
</resources>
</build>注意一个在build内一个在build外!!!
<profiles>
<profile>
<id>dev</id>
<activation>
<activeByDefault>true</activeByDefault>很重要,默认的环境
</activation>
<properties>
<deploy.type>dev</deploy.type>
</properties>
</profile>
<profile>
<id>beta</id>
<properties>
<deploy.type>beta</deploy.type>
</properties>
</profile>
<profile>
<id>prod</id>
<properties>
<deploy.type>prod</deploy.type>
</properties>
</profile>
</profiles>



这样就配置好了,用maven打包的使用下面命令即可
mvn clean package -Dmaven.test.skip=true -Pprod

tomcat集群

tomcat单机部署多应用解压二个绿色版的tomcat
vim /etc/profile 编辑环境变量export CATALINA_BASE=/setup1/apache-tomcat-7.0.85
export CATALINA_HOME=/setup1/apache-tomcat-7.0.85
export TOMCAT_HOME=/setup1/apache-tomcat-7.0.85
export CATALINA_2_BASE=/setup1/tomcat2
export CATALINA_2_HOME=/setup1/tomcat2
export TOMCAT_2_HOME=/setup1/tomcat2编辑第二个tomcat bin目录下的catelina.sh# OS specific support. $var _must_ be set to either true or false.
export CATALINA_BASE=$CATALINA_2_BASE
export CATALINA_HOME=$CATALINA_2_HOME编辑第二个tomcat里面conf的server.xml三个端口号(不可以重复)

nginx负载均衡

常用策略:




weight默认是1,就是轮询的的默认值,图上权重的解释是:8080端口是9080端口的访问几率的1.5倍









安装nginx后在/usr/local/nginx/conf/nginx.conf配置文件添加
include vhost/*.conf; 注意放置的节点位置,最外围的大括号里面,作用是引入其他配置文件,方便以后拓展

在nginx.conf层级下面创建vhost目录 :mkdir vhost
创建bo.conf,内容如下upstream 172.17.0.2{ --请求分别转发到如下服务器,9080访问几率是8080的3/1倍
server 172.17.0.2:8080 weight=1;
server 172.17.0.2:9080 weight=3;

}

server {
listen 80;
autoindex on;
server_name 111.231.114.12; --浏览器请求的路径
access_log /usr/local/nginx/logs/access.log combined; --存放的日志
index index.html index.htm index.jsp index.php; --访问的首页

location / {
proxy_pass http://172.17.0.2/; 172是我的内网ip地址
进入sbin目录:./nginx  -s reload 启动服务并加载配置文件,
启动报错,pid什么的解决方式:手动加载配置文件
[root@VM_0_2_centos sbin]# ./nginx -c /usr/local/nginx/conf/nginx.conf
[root@VM_0_2_centos sbin]# ./nginx -s reload

./nginx  -t命令可以监测配置文件是否有错误


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: