項(xiàng)目發(fā)布與總結(jié)

獨(dú)立性:不是一次性執(zhí)行。要經(jīng)常執(zhí)行。
@BeforeCLass 在類初始化之前。執(zhí)行一次
@Before調(diào)用任何方法之前都執(zhí)行一次
@Before @After可以用來插入測(cè)試數(shù)據(jù)和刪除測(cè)試數(shù)據(jù)
用Assert類,方法有assertNotNUll,assertEquals,
判斷小數(shù)想不想等,需要再加個(gè)近似值,數(shù)字表示精度,也就是小數(shù)的位數(shù)。

項(xiàng)目監(jiān)控

springboot手冊(cè)里有所有端點(diǎn)。
導(dǎo)入包,spring boot actuator start。有一個(gè)端點(diǎn)默認(rèn)是禁用的,關(guān)閉服務(wù)器。
默認(rèn)只暴露兩個(gè)端點(diǎn),/actuator/info /actuator/health
include 暴露的端點(diǎn),exclude,排除的端點(diǎn)。

/acutator/loggers.
自定義端點(diǎn)。
@ReadOperation //get請(qǐng)求訪問
@WriteOperation//POST請(qǐng)求訪問

/acturator/database
要做權(quán)限管理:
把路徑分配給管理員即可。
項(xiàng)目部署

真實(shí)環(huán)境可以部署多個(gè)實(shí)例,得需要好幾臺(tái)服務(wù)器。
maven3.6.1
https://archive.apache.org/dist/maven/maven-3/3.6.1/binaries/
1.安裝java
- maven放/opt下配置。
tar -zvxf tar.gz -C /opt
/etc/profile export PATH=$PATH:maven/bin
source /etc/profile
echo $PATH
配置鏡像
- mysql安裝
https://www.cnblogs.com/Twobox/p/9925460.html
下載這個(gè)版本的安裝包,剩下的參考上面連接教程。該卸載的卸載,該安裝的安裝
wget https://downloads.mysql.com/archives/get/p/23/file/mysql-8.0.13-1.el7.x86_64.rpm-bundle.tar
啟動(dòng)服務(wù)
service mysqld start
# systemctl start mysqld
# systemctl status mysqld
grep 'pawword' /var/log/mysqld.log //查找密碼
mysql -uroot -p
alter user root@localhost identified by '密碼'//大寫字母特殊符號(hào)。
//重新登錄
導(dǎo)入數(shù)據(jù)
create database community
use community
source /root/init-sql/init_schema.sql
source /root/init-sql/init_data.sql
source /root/init-sql/tables_mysql_innodb.sql
# 修改user表下的headerurl
update user set ... like'';
- redis安裝
yum list redis*
yum install redis
vim /etc/redis.conf
# 找到redis.conf 并修改 daemonize no 為 daemonize yes ,這樣就可以默認(rèn)啟動(dòng)就后臺(tái)運(yùn)行
redis-server /etc/redis.conf
systemctl start redis
systemctl staus redis
redis-cli
- kafka安裝
linux臨時(shí)文件都放到/tmp
默認(rèn)配置就可以
后臺(tái)啟動(dòng)方式
bin/ zookeeper-server-stasrt.sh -daemon config/zookeeper.properties
nohup bin/kafka-server-start.sh config/server.properties 1>/dev/null 2>&1 &
- elasticSearch安裝
修改elasticsearch.yml下的路徑
修改jvm.options 的內(nèi)存
-Xms256m
-Xmx512m
es不允許用root用戶啟動(dòng),只能用普通用戶啟動(dòng)
創(chuàng)建用戶組和用戶
groupadd nowcoder
useradd nocoder1 -p 123456 -g nowcoder
賦予用戶目錄權(quán)限
cd /opt/
chown -R nowcoder1:nowcoder *
cd /tmp/
chown -R nowcoder1:nowcoder
切換用戶開啟es
su - nowcoder1
bin/eskasticsearch -d
切換回root測(cè)試es是否啟動(dòng)
curl -X GET "localhost:9200/_cat/health?v"
- wkhtmltoImage
yum install wkhtmltopdf
裝一個(gè)虛擬gui,因?yàn)槲覀兊姆?wù)器沒有界面殼子,這樣就不能解析html生成圖片了
yum list *xvfb*
yum install xorg-x11-server-Xvfb.x86_64
執(zhí)行命令
xvfb-run --server-args="-screen 0, 1024x768x24" wkhtmltoimage https://www.baidu.com 1.png
因?yàn)樘闊┧詫憘€(gè)腳本
cd /opt
vim wkhtmltoimage.sh
#下面是腳本的內(nèi)容
xvfb-run --server-args="-screen 0, 1024x768x24" wkhtmltoimage "$@"
# 然后賦予權(quán)限
chmod a+x wkhtmltoimage.sh
測(cè)試
/opt/wkhtmltoimage.sh https://www.baidu.com 2.png
- 安裝tomcat
配置環(huán)境變量
啟動(dòng)試試
startup.sh
解決端口無法訪問的問題,是因?yàn)榘⒗锇踩M
http://www.itdecent.cn/p/087774e1cc22
啟動(dòng)比較慢 ,如果啟動(dòng)失敗去log下看看catalina.out
cat catalina.out
發(fā)現(xiàn)端口被占用,kill掉占用的程序
netstat -alnp | grep 8005

kill -9 3258
9.配置nginx
配置一共有幾個(gè)tomcat,再配個(gè)虛擬服務(wù)器把請(qǐng)求分發(fā)給tomcat
真實(shí)服務(wù)器配置
本機(jī)tomcat, fials=3三次請(qǐng)求失敗就移除服務(wù)器集合里。移除后過30s再看看

upstream myserver{
server 127.0.0.1:8088 max_fails=3 fail_timeout=30s;
}
server {
listen 80;
server_name [ip或者域名];
location / {
proxy_pass http://myserver;
}
}
- 部署打包
我們把ROOT包刪掉,然后把我們的打包成ROOT.war包
還要把/ 路徑 轉(zhuǎn)發(fā)到/index下,這樣就可以不用輸入index路徑了。然后把路徑改成空,也就不用寫community路徑了,然后是修改數(shù)據(jù)庫(kù)連接,在最后要補(bǔ)上&allowPublicKeyRetrieval=true不然會(huì)報(bào)公鑰不允許的錯(cuò)誤
pring.datasource.url=jdbc:mysql://localhost:3306/community?characterEncoding=utf-8&useSSL=false&serverTimezone=Hongkong&allowPublicKeyRetrieval=true
然后配置打包方式以及打包名


還有我們直到tomcat也是java程序,所以它有main方法一個(gè)程序不能有兩個(gè)main方法,所以我們新建一個(gè)類。要繼承一個(gè)父類,SpringBootServletInitailizer。重寫方法,并發(fā)編譯運(yùn)行源指定我們的原來的程序入口。

springboot支持多配置文件可以在開發(fā),上線,測(cè)試用不同的配置文件。方法是,為配置文件重新命名develop就是開發(fā),produce就是生產(chǎn)用的,一定注意格式,是在后面添加-xxx

然后我們把a(bǔ)pplication.properties的代碼刪除
修改成

spring.profiles.active就表示配置文件激活的目標(biāo)
然后我們要修改配置代碼,尤其是本地路徑,以及虛擬路徑,日志文件放到/tmp/log下,以及要把wkhtmltoimage執(zhí)行代碼修改,因?yàn)槲覀儼衙钆渲贸闪四_本
