項(xiàng)目筆記8

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

image.png

獨(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ù)。

image.png

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

image.png

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)。


image.png

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


image.png

/acturator/database

要做權(quán)限管理:
把路徑分配給管理員即可。

項(xiàng)目部署

image.png

真實(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

  1. maven放/opt下配置。
tar -zvxf tar.gz -C /opt
/etc/profile   export PATH=$PATH:maven/bin
source /etc/profile
echo $PATH

配置鏡像

  1. 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''; 
  1. 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
  1. 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 &
  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"
  1. 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
  1. 安裝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
image.png
kill -9 3258

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


image.png
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;
        }
}

  1. 部署打包
    我們把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

然后配置打包方式以及打包名


image.png

image.png

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


image.png

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


image.png

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

image.png

spring.profiles.active就表示配置文件激活的目標(biāo)

然后我們要修改配置代碼,尤其是本地路徑,以及虛擬路徑,日志文件放到/tmp/log下,以及要把wkhtmltoimage執(zhí)行代碼修改,因?yàn)槲覀儼衙钆渲贸闪四_本


image.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容