10月17
具体报错信息:
Error assembling WAR: webxml attribute is required (or pre-existing WEB-INF/web.xml
springboot启动的项目报错。
解决方案:
<!-- 没有web.xml文件的情况下构建WAR
<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>3.0.0</version>
</plugin>
-->
<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>2.6</version>
<configuration>
<!--如果想在没有web.xml文件的情况下构建WAR,请设置为false。-->
<failOnMissingWebXml>false</failOnMissingWebXml>
</configuration>
</plugin>
Error assembling WAR: webxml attribute is required (or pre-existing WEB-INF/web.xml
springboot启动的项目报错。
解决方案:
<!-- 没有web.xml文件的情况下构建WAR
<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>3.0.0</version>
</plugin>
-->
<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>2.6</version>
<configuration>
<!--如果想在没有web.xml文件的情况下构建WAR,请设置为false。-->
<failOnMissingWebXml>false</failOnMissingWebXml>
</configuration>
</plugin>
10月17
百度了几百篇文章都没有真正的将独立打包的过程写清楚。我写在这里只是为了自己以后可以查看。
1.需要在相应的项目的目录src目录下增加一下目录和文件
a.src/main/asse
2.修改pom.xml
在project配置里增加
<build>
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.4.1</version>
<configuration>
<descriptor>src/main/assembly/assembly.xml</descriptor>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
1.需要在相应的项目的目录src目录下增加一下目录和文件
a.src/main/asse
2.修改pom.xml
在project配置里增加
<build>
<plugins>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.4.1</version>
<configuration>
<descriptor>src/main/assembly/assembly.xml</descriptor>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
10月17
redis作为大家经常使用到的内存级缓存服务器,我们需要保证该服务的高可用性。 这里我介绍最简单的配置方式,使用主从方式集群,并使用sentinel程序来管理主从服务器的切换。下面我们就动手来实现吧.
配置 redis.conf
配置主服务器 master
master中我们除了修改需要使用的端口和绑定的ip地址为,其他的基本保留不变就可以了,当然你也可以按自己的喜欢配置其他参数
配置从服务器 slave
从服务器相对主服务器的配置修改成自己要的端口和绑定的ip外,还需要增加一个slaveof参数 用于指定该服务器的主服务器的ip和端口
配置sentinel服务
我们需要增加sentinel.conf文件配置监控服务的端口,ip地址
port 26379
sentinel myid 4c59c281412c7198c18781846505609a7e70c7dd
sentinel monitor master 127.0.0.1 7001 1
sentinel down-after-milliseconds master 5000
sentinel failover-timeout master 15000
port 指定sentinel服务的端口
myid用于指定该服务的id
montor 主服务器别名 主服务器的ip 端口 切换主从的从服务器投票数
down-after-milliseconds 主服务器别名 指定主服务器检测时间毫秒数
failover-timeout 主服务器别名 切换时间数
配置 redis.conf
配置主服务器 master
master中我们除了修改需要使用的端口和绑定的ip地址为,其他的基本保留不变就可以了,当然你也可以按自己的喜欢配置其他参数
配置从服务器 slave
从服务器相对主服务器的配置修改成自己要的端口和绑定的ip外,还需要增加一个slaveof参数 用于指定该服务器的主服务器的ip和端口
配置sentinel服务
我们需要增加sentinel.conf文件配置监控服务的端口,ip地址
port 26379
sentinel myid 4c59c281412c7198c18781846505609a7e70c7dd
sentinel monitor master 127.0.0.1 7001 1
sentinel down-after-milliseconds master 5000
sentinel failover-timeout master 15000
port 指定sentinel服务的端口
myid用于指定该服务的id
montor 主服务器别名 主服务器的ip 端口 切换主从的从服务器投票数
down-after-milliseconds 主服务器别名 指定主服务器检测时间毫秒数
failover-timeout 主服务器别名 切换时间数
10月17
linux下默认时间为美国纽约时间,与中国北京时间相差8个小时。
我发现使用cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime替换了系统的时间后,虽然date命令中的时间是对的,但是java的Date对象获得的时间依然是相差8个小时。这是为什么呢?经多方查证得出不能使用cp命令直接替换,只能使用ln命令链接时区配置
使用以下命令完美解决了两个时间不一致的问题。
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
我发现使用cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime替换了系统的时间后,虽然date命令中的时间是对的,但是java的Date对象获得的时间依然是相差8个小时。这是为什么呢?经多方查证得出不能使用cp命令直接替换,只能使用ln命令链接时区配置
使用以下命令完美解决了两个时间不一致的问题。
ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
10月17
分享一下apache服务器使用htaccess实现301重定向的规则代码。由于nginx服务器对基于动态php语言的wordpress程序执行效率大打折扣,导致服务器cpu常常被php-fpm进程占满卡死,于是我将指南者博客的运行环境切换成了apache,瞬间解决了这个老大难问题!
我的个人博客绑定了很多个域名,但主域名一直是www.heckjj.com,所以需要将其他域名通过301重定向到主域名来避免博客权重的流失。apache与nginx设置301重定向还是有相当大的区别,apache服务器只需将重定向代码保存为名为空后缀为.htaccess的文件,并保存在网站根目录即可。
例子一:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www.heckjj.com$ [NC]
RewriteRule ^(.*)$ http://www.heckjj.com/$1 [L,R=301]
以上代码实现了:凡是通过非 www.heckjj.com (第2行中的 www.heckjj.com )访问过来的域名,均会转向到 www.heckjj.com(第3行中的 www.heckjj.com)这个域名;
参数说明:
其中第2行中的 !^www.heckjj.com$ :
! 叹号表示域名的开始;
^ 尖号表示非,即不是以 xxx 开头的;
$ 符号表示域名的结尾。
由此可以看出 !^www.heckjj.com$ 表达的意思就是访问到你服务器的域名不是完全与 www.heckjj.com 相同的域名,就会满足判断的条件,进而触发跳转的操作了。
我的个人博客绑定了很多个域名,但主域名一直是www.heckjj.com,所以需要将其他域名通过301重定向到主域名来避免博客权重的流失。apache与nginx设置301重定向还是有相当大的区别,apache服务器只需将重定向代码保存为名为空后缀为.htaccess的文件,并保存在网站根目录即可。
例子一:
RewriteEngine On
RewriteCond %{HTTP_HOST} !^www.heckjj.com$ [NC]
RewriteRule ^(.*)$ http://www.heckjj.com/$1 [L,R=301]
以上代码实现了:凡是通过非 www.heckjj.com (第2行中的 www.heckjj.com )访问过来的域名,均会转向到 www.heckjj.com(第3行中的 www.heckjj.com)这个域名;
参数说明:
其中第2行中的 !^www.heckjj.com$ :
! 叹号表示域名的开始;
^ 尖号表示非,即不是以 xxx 开头的;
$ 符号表示域名的结尾。
由此可以看出 !^www.heckjj.com$ 表达的意思就是访问到你服务器的域名不是完全与 www.heckjj.com 相同的域名,就会满足判断的条件,进而触发跳转的操作了。





