Maven和Findbugs集成

1.配置pom.xml

<build>
        <plugins>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>findbugs-maven-plugin</artifactId>
                <version>3.0.4</version>
                <configuration>
                    <!--配置文件-->
                    <configLocation>${basedir}/findbugs-config.xml</configLocation>
                    <!--排除的BUG规则-->
                    <excludeFilterFile>custom-findbugs-exclude.xml</excludeFilterFile>
                    <!--包含的BUG规则-->
                    <includeFilterFile>custom-findbugs-include.xml</includeFilterFile>
                    <!--检查等级-->
                    <threshold>High</threshold>
                    <effort>Default</effort>
                    <!-- 输出配置 -->
                    <findbugsXmlWithMessages>true</findbugsXmlWithMessages>
                    <findbugsXmlOutput>true</findbugsXmlOutput>
                    <xmlOutput>true</xmlOutput>
                    <findbugsXmlOutputDirectory>target/site</findbugsXmlOutputDirectory>
                </configuration>
            </plugin>
        </plugins>
    </build>

custom-findbugs-exclude.xml内容:

<FindBugsFilter>
    <Match>
        <Bug pattern="DLS_DEAD_LOCAL_STORE"/>
    </Match>

    <Match>
        <Bug pattern="DM_BOXED_PRIMITIVE_FOR_PARSING"/>
    </Match>

    <Match>
        <Bug pattern="EI_EXPOSE_REP"/>
    </Match>

    <Match>
        <Bug pattern="EI_EXPOSE_REP2"/>
    </Match>

    <Match>
        <Bug pattern="ME_ENUM_FIELD_SETTER"/>
    </Match>
</FindBugsFilter>

2. 运行findbugs任务(先运行“mvn package”编译工程 )

mvn findbugs:help      
查看findbugs插件的帮助  
mvn findbugs:check      
检查代码是否通过findbugs检查,如果没有通过检查,检查会失败,但检查不会生成结果报表  
mvn findbugs:findbugs   
检查代码是否通过findbugs检查,如果没有通过检查,检查不会失败,会生成结果报表保存在target/findbugsXml.xml文件中  
mvn findbugs:gui        
检查代码并启动gui界面来查看结果  

具体fndbugs插件的配置项可以参考http://mojo.codehaus.org/findbugs-maven-plugin/findbugs-mojo.html

WordPress 搭建

  1. 环境准备 – 数据库(mariadb)

参考:https://www.cnblogs.com/river2005/p/6813618.html
CentOS7下使用yum安装MariaDB
CentOS 6 或早期的版本中提供的是 MySQL 的服务器/客户端安装包,但 CentOS 7 已使用了 MariaDB 替代了默认的 MySQL。MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可 MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。

Linux下安装MariaDB官方文档参见:https://mariadb.com/kb/zh-cn/installing-mariadb-with-yum/

全部删除MySQL/MariaDBMySQL 已经不再包含在 CentOS 7 的源中,而改用了 MariaDB;

 1.使用rpm -qa | grep mariadb搜索 MariaDB 现有的包: 
如果存在,使用rpm -e --nodeps mariadb-*全部删除:
[root@localhost ~]# rpm -qa | grep mariadb
[root@localhost ~]# rpm -e mysql-*

2.使用rpm -qa | grep mariadb搜索 MariaDB 现有的包:
如果存在,使用yum remove mysql mysql-server mysql-libs compat-mysql51全部删除;
[root@localhost ~]# yum remove mysql mysql-server mysql-libs compat-mysql51

3.开始新的安装, 创建MariaDB.repo文件
vi /etc/yum.repos.d/MariaDB.repo
插入以下内容:
# MariaDB 10.2.4 CentOS repository list - created 2017-05-05 16:13 UTC
# http://downloads.mariadb.org/mariadb/repositories/
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.2.4/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1

4.运行安装命令安装MariaDB
[root@localhost ~]# yum -y install MariaDB-server MariaDB-client

5. 安装成功之后启动MariaDB服务。
systemctl start mariadb #启动服务 systemctl enable mariadb #设置开机启动 systemctl restart mariadb #重新启动 systemctl stop mariadb.service #停止MariaDB

6. 进行MariaDB的相关简单配置,使用mysql_secure_installation命令进行配置。

7.配置MariaDB的字符集
  查看/etc/my.cnf文件内容,其中包含一句!includedir /etc/my.cnf.d 说明在该配置文件中引入/etc/my.cnf.d 目录下的配置文件。
  
1)使用vi server.cnf命令编辑server.cnf文件,在[mysqld]标签下添加
init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
如果/etc/my.cnf.d 目录下无server.cnf文件,则直接在/etc/my.cnf文件的[mysqld]标签下添加以上内容。
2)文件/etc/my.cnf.d/client.cnf
vi /etc/my.cnf.d/client.cnf
在[client]中添加
default-character-set=utf8
3)文件/etc/my.cnf.d/mysql-clients.cnf
vi /etc/my.cnf.d/mysql-clients.cnf
在[mysql]中添加
default-character-set=utf8
 全部配置完成,重启mariadb
systemctl restart mariadb
之后进入MariaDB查看字符集
mysql> show variables like "%character%";show variables like "%collation%";
授予权限并且可以授权
mysql>grant all privileges on *.* to username@'hostname' identified by 'password' with grant option;

2. 环境准备 – php

1、由于linux的yum源不存在php7.x,所以我们要更改yum源:
rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
 2、yum查询安装php71w
yum search php71w
3、yum 安装php71w和各种拓展,选自己需要的即可。
yum install php71w php71w-cli php71w-common php71w-devel php71w-embedded php71w-fpm php71w-gd php71w-mbstring php71w-mysqlnd php71w-opcache php71w-pdo php71w-xml

php -v //就可以看到PHP版本信息了。
4. 修改配置文件
编辑PHP的配置文件,/etc/php.ini,注意去掉分号注释
vim /etc/php.ini
  将 ;cgi.fix_pathinfo=1 改为 cgi.fix_pathinfo=0
编辑PHP-FPM配置文件
vim /etc/php-fpm.d/www.conf
  将
  user = nobody
  group = nobody   
 改为
  user = nginx
  group = nginx
 前提是已经创建了nginx用户和nginx组。如果没有创建方法:
groupadd -r nginx
useradd -r -g nginx nginx
5、启动PHP—FPM
systemctl start php-fpm
6、设置开机启动
systemctl enable php-fpm
7,确保Nginx配置文件修该之后,重启Nginx
systemctl restart nginx
8、在/usr/share/nginx/html/目录下创建info.php
    内容如下:
   <?php phpinfo();?>
然后在浏览器访问这个文件, 看看是否成功

3. 环境准备 – nginx

安装nginx
yum install nginx
修改nginx 配置
vim /etc/nginx/nginx.conf
去掉默认的server配置
在/etc/ngnix/conf.d/下,新增一个配置文件wordpress.conf
内容为:

server {
listen 80 default;
server_name blog.javastone.net blog.caul.com.cn;
index index.php index.html index.htm index.jsp;
root /usr/local/wordpress;
error_page 404 /404.html; location = /40x.html { }
  error_page 500 502 503 504 /50x.html; location = /50x.html { }
  location ~ \.php$ {
  try_files $uri =404;
  fastcgi_pass 127.0.0.1:9000;
  fastcgi_index index.php;
  fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
  include fastcgi_params; 
  }
  location / {
  index index.php;
  }
  access_log /data/logs/nginx/blog.log;
}

4. 部署

参考官方文档, 主要是修改配置文件wp-config.php

/** WordPress数据库的名称 */
define('DB_NAME', '数据库');
/** MySQL数据库用户名 */
define('DB_USER', '用户');
/** MySQL数据库密码 */
define('DB_PASSWORD', '密码');
/** MySQL主机 */
define('DB_HOST', '主机IP');

去https://api.wordpress.org/secret-key/1.1/salt/ 拿到一个key,
替换define中的AUTH_KEY等信息
define('AUTH_KEY', '');
define('SECURE_AUTH_KEY', '');
define('LOGGED_IN_KEY', '');
define('NONCE_KEY', '\');
define('AUTH_SALT', '');
define('SECURE_AUTH_SALT', '');
define('LOGGED_IN_SALT', '');
define('NONCE_SALT', '');*/
define('AUTH_KEY', '');
define('SECURE_AUTH_KEY', '');
define('LOGGED_IN_KEY', '');
define('NONCE_KEY', '\');
define('AUTH_SALT', '');
define('SECURE_AUTH_SALT', '');
define('LOGGED_IN_SALT', '');
define('NONCE_SALT', '');