国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

JAVA開(kāi)發(fā)與運(yùn)維(web生產(chǎn)環(huán)境部署)

這篇具有很好參考價(jià)值的文章主要介紹了JAVA開(kāi)發(fā)與運(yùn)維(web生產(chǎn)環(huán)境部署)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

web生產(chǎn)環(huán)境部署,往往是分布式,和開(kāi)發(fā)環(huán)境或者測(cè)試環(huán)境我們一般使用單機(jī)不同。

一、部署內(nèi)容

1、后端服務(wù)

2、后臺(tái)管理系統(tǒng)vue

3、小程序

二、所需要服務(wù)器

5臺(tái)前端服務(wù)器?

8臺(tái)后端服務(wù)

三、所需要的第三方組件

redis
mysql
clb
OSS
CDN
WAF
RocketMQ

redis用來(lái)緩存應(yīng)用的數(shù)據(jù)

mysql用來(lái)存儲(chǔ)配置中心apollo的配置數(shù)據(jù)

clb用來(lái)做負(fù)載均衡

OSS用來(lái)存儲(chǔ)應(yīng)用的圖片

CDN用來(lái)加速應(yīng)用的訪(fǎng)問(wèn)速度

WAF用來(lái)保障應(yīng)用的安全

RocketMQ用來(lái)做后臺(tái)收集用戶(hù)數(shù)據(jù)時(shí)的異步處理,提高系統(tǒng)接口性能

postgresql 用來(lái)存在應(yīng)用的基礎(chǔ)數(shù)據(jù)

四、需要安裝的服務(wù)

1、apollo配置中心

2、Eureka服務(wù)注冊(cè)發(fā)現(xiàn)中心

3、應(yīng)用服務(wù)

五、安裝安排

5臺(tái)前端服務(wù)器上安裝 nginx ,apollo 、Eureka? 其中這三個(gè)組件都使用docker來(lái)安裝。

8臺(tái)后端服務(wù)器用來(lái)安裝應(yīng)用的服務(wù),包括網(wǎng)關(guān),公共服務(wù),業(yè)務(wù)服務(wù)。

六.安裝方法

1、基礎(chǔ)軟件安裝

1. 基礎(chǔ)服務(wù)

1.1服務(wù)器資源

操作系統(tǒng)版本:Linux?CentOS 7.6

JAVA環(huán)境:openjdk version "1.8.0_312"

數(shù)據(jù)庫(kù):MYSQL8.0 或PostgreSQL 12.8

1.2 yum準(zhǔn)備

1.2.1 更新yum

yum update yum

1.2.2 安裝yum工具

yum -y install yum-utils

1.2.3查看yum版本?

yum –version

版本為3.4.3或之后的最新版本即可

1.3 JAVA部署

JAVA安裝命令:

yum install java-1.8.0-openjdk.x86_64

查看JAVA版本:?java -version

1.4 docker環(huán)境及部署

1.4.1版本

Client: Docker Engine – Community version:?20.10.12

Server: Docker Engine – Community version:?20.10.12

1.4.2 部署

1.用yum拉取阿里云鏡像:

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

2. yum安裝:

yum install docker-ce

3.查看docker版本:

docker version

4.啟動(dòng)docker:

systemctl start docker

5.設(shè)置docker開(kāi)機(jī)自啟

systemctl enable docker

1.4.3 文件夾

1.在系統(tǒng)的/home路徑下創(chuàng)建一個(gè)命名為“docker”的文件夾,用于存放docker相關(guān)文件。

2.在/home/docker路徑下創(chuàng)建兩個(gè)文件夾“script”和“apps”,用于存放腳本文件與鏡像文件。

1.4.4 docker常用命令

1.查看docker鏡像:?docker images

2.查看docker正在運(yùn)行容器:?docker ps

3.查看docker里的容器:?docker ps -a

1.5 nginx部署

端口需要:80

1.5.1 docker部署nginx

docker pull nginx:latest

1.5.2 腳本文件

在/home/docker/script路徑下創(chuàng)建一個(gè)腳本文件“nginx.sh”,內(nèi)容為:

docker run -d \

?? --name nginx \

?? --net=host \

?? -v /home/docker/apps/nginx/www:/usr/share/nginx/html \

?? -v /home/docker/apps/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \

?? -v /home/docker/apps/nginx/logs:/var/log/nginx \

?? -v /home/docker/apps/nginx/conf.d:/etc/nginx/conf.d \

?? -v /home/docker/apps/nginx/cert:/etc/nginx/cert \

?? nginx

(注意:以上內(nèi)容需注意linux中的特殊字符,可用vim編輯文件,去掉特殊字符,否則運(yùn)行腳本文件時(shí)會(huì)報(bào)錯(cuò);cert為安全證書(shū)相關(guān),不需要時(shí)可以去掉)

1.5.3 nginx文件

1.在/home/docker/apps路徑下創(chuàng)建“nginx”文件夾

2.在/home/docker/apps/nginx路徑下分別創(chuàng)建“www”、 “l(fā)ogs”、 “conf”、 “conf.d”四個(gè)文件夾;”www”文件夾用于存放前端代碼,“l(fā)ogs”文件夾用于存放日志,“conf”文件夾用于存放nginx總配置文件,“conf.d”用于存放項(xiàng)目配置文件;如需安全證書(shū)相關(guān),還要?jiǎng)?chuàng)建“cert”文件夾。

3.nginx總配置文件:

在/home/docker/apps/nginx/conf路徑下創(chuàng)建“nginx.conf”文件,作為nginx的總配置文件,內(nèi)容為:

user ?nginx;

worker_processes ?auto;

error_log ?/var/log/nginx/error.log notice;

pid /var/run/nginx.pid;

events {

????worker_connections ?1024;

}

http {

????include ??????/etc/nginx/mime.types;

????default_type ?application/octet-stream;

????log_format ?main ?'$remote_addr - $remote_user [$time_local] "$request" '

??????????????????????'$status $body_bytes_sent "$http_referer" '

??????????????????????'"$http_user_agent" "$http_x_forwarded_for"';

????access_log ?/var/log/nginx/access.log ?main;

????sendfile ???????on;

????#tcp_nopush ????on;

????keepalive_timeout ?65;

????#gzip ?on;

????client_max_body_size 1024m;

????include /etc/nginx/conf.d/*.conf;

}

4.項(xiàng)目配置分文件

在/home/dokcer/apps/nginx/conf.d路徑下創(chuàng)建“xxx.conf”文件,“xxx”為項(xiàng)目名,內(nèi)容為:

#server

#{

??## 80端口是http正常訪(fǎng)問(wèn)的接口

??#listen 80;

??#server_name XXX.com;

??## 在這里,我做了https全加密處理,在訪(fǎng)問(wèn)http的時(shí)候自動(dòng)跳轉(zhuǎn)到https

??#rewrite ^(.*) https://${server_name}$1 permanent;

#}

server {

# listen 自定義監(jiān)聽(tīng)端口

????listen ??????80;

#定義使用 訪(fǎng)問(wèn)域名

????server_name ?localhost;

# 如需域名則配置如下

# 偵聽(tīng)443端口,這個(gè)是ssl訪(fǎng)問(wèn)端口

# listen 443 ssl;

# ssl_certificate /etc/nginx/cert/xxx.crt;

????# ssl_certificate_key /etc/nginx/cert/安全私鑰文件名;

????location / {

????????root ??/var/nginx/html/xxx;

????????index ?index.html index.htm;

????}

????error_page ??500 502 503 504 ?/50x.html;

????location = /404.html {

????????????root ?error;

????}

}

1.5.4 運(yùn)行nginx

1.通過(guò)腳本文件nginx.sh運(yùn)行,腳本文件的運(yùn)行需授予權(quán)限,在文件目錄下命令:

chmod 755 nginx.sh

2.運(yùn)行腳本命令:./nginx.sh

1.5.4 nginx常用命令

1.啟動(dòng): docker start nginx

2.重啟: docker?restart nginx

3.停止:?docker stop nginx

1.6 注冊(cè)中心eureka部署

端口需要:8761

1.6.1 準(zhǔn)備

部署注冊(cè)中心eureka,使用docker部署。在/home/docker/apps路徑下創(chuàng)建“eureka”文件夾,并存放一個(gè)eureka.jar的鏡像文件和構(gòu)建鏡像的Dockerfile文本文件。eureka.jar文件可使用別的服務(wù)器同目錄下的eureka.jar文件。

Dockerfile文件的內(nèi)容:

FROM java:8

VOLUME /tmp

ADD eureka.jar eureka.jar

EXPOSE 8761

ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/ctg-eureka.jar"]

1.6.2 腳本文件

在/home/docker/script路徑下創(chuàng)建一個(gè)腳本文件“eureka.sh”,內(nèi)容為:

docker run --name eureka -d -p 8761:8761 ctg-eureka

1.6.3 運(yùn)行eureka

1.通過(guò)腳本文件eureka.sh運(yùn)行,腳本文件的運(yùn)行需授予權(quán)限,在文件目錄下命令:

chmod 755 eureka.sh

2.運(yùn)行腳本命令:./ eureka.sh

1.6.4 eureka常用命令

1.啟動(dòng): docker start eureka

2.重啟: docker restart eureka

3.停止: docker stop eureka

1.7 配置中心Apollo部署

端口需要: 8070,8080,8090

1.7.1 準(zhǔn)備工作

Apllo的部署需要Mysql數(shù)據(jù)庫(kù),需要5.6.5以上版本。

1.7.2 創(chuàng)建數(shù)據(jù)庫(kù)

Apollo服務(wù)端共需要兩個(gè)數(shù)據(jù)庫(kù):ApolloPortalDB和ApolloConfigDB,我們把數(shù)據(jù)庫(kù)、表的創(chuàng)建和樣例數(shù)據(jù)都分別準(zhǔn)備了sql文件,只需要導(dǎo)入數(shù)據(jù)庫(kù)即可。

執(zhí)行兩個(gè)sql文件

sql/apolloportaldb.sql

sql/apolloconfigdb.sql

會(huì)創(chuàng)建兩個(gè)數(shù)據(jù)庫(kù)

sql文件可在官網(wǎng):Quick Start · apolloconfig/apollo Wiki · GitHub?下載

1.7.3 腳本文件

1.在/home/docker/script路徑下創(chuàng)建“apollo”文件夾

2.在/home/docker/script/apollo路徑下創(chuàng)建“apollo-portal.sh”腳本文件,內(nèi)容為:

docker run -d \

????--name apollo-portal \

????--net=host \

????-v /tmp/logs:/opt/logs \

????-e SPRING_DATASOURCE_URL=

"jdbc:mysql://數(shù)據(jù)庫(kù)地址/ctg_apollo_portal_test?characterEncoding=utf8" \

????-e SPRING_DATASOURCE_USERNAME=數(shù)據(jù)庫(kù)賬號(hào)\

????-e SPRING_DATASOURCE_PASSWORD=數(shù)據(jù)庫(kù)密碼\

????-e APOLLO_PORTAL_ENVS=test \

????-e TEST_META=http://服務(wù)器ip地址:8080 \

????apolloconfig/apollo-portal:1.9.1

3.在/home/docker/script/apollo路徑下創(chuàng)建“apollo-config.sh”腳本文件,內(nèi)容為:

docker run -d \

????--name apollo-configservice \

????--net=host \

????-v /tmp/logs:/opt/logs \

????-e SPRING_DATASOURCE_URL=

"jdbc:mysql://數(shù)據(jù)庫(kù)地址/ctg_apollo_config_test?characterEncoding=utf8" \

????-e SPRING_DATASOURCE_USERNAME=數(shù)據(jù)庫(kù)賬號(hào)\

????-e SPRING_DATASOURCE_PASSWORD=數(shù)據(jù)庫(kù)密碼\

????apolloconfig/apollo-configservice:1.9.1

4.?在/home/docker/script/apollo路徑下創(chuàng)建“apollo-admin.sh”腳本文件,內(nèi)容為:

docker run -d \

????--name apollo-adminservice \

????--net=host \

????-v /tmp/logs:/opt/logs \

????-e SPRING_DATASOURCE_URL=

"jdbc:mysql://數(shù)據(jù)庫(kù)地址/ctg_apollo_config_test?characterEncoding=utf8" \

????-e SPRING_DATASOURCE_USERNAME=數(shù)據(jù)庫(kù)賬號(hào)\

????-e SPRING_DATASOURCE_PASSWORD=數(shù)據(jù)庫(kù)密碼\

????apolloconfig/apollo-adminservice:1.9.1

1.7.4 docker拉取apollo

命令:

  1. docker pull apolloconfig/apollo-configservice:1.9.1
  2. docker pull apolloconfig/apollo-adminservice:1.9.1
  3. docker pull apolloconfig/apollo-portal:1.9.1

1.7.5 運(yùn)行apollo

在/home/docker/script/apollo路徑下運(yùn)行指令

1. chmod 755 apollo-portal.sh

2. chmod 755 apollo-config.sh

3. chmod 755 apollo-admin.sh

執(zhí)行運(yùn)行命令

1. ./ apollo-portal.sh

2. ./ apollo-config.sh

3. ./ apollo-admin.sh

1.7.6 使用Apollo配置中心

訪(fǎng)問(wèn)服務(wù)器IP:8070可以進(jìn)行訪(fǎng)問(wèn),默認(rèn)的用戶(hù)名是apollo,密碼是admin。

應(yīng)用的部署。。。。

其中我們可以分別在一臺(tái)前端服務(wù)器,一臺(tái)后端服務(wù)器部署完了,再?gòu)?fù)制到其他服務(wù)器,做橫向擴(kuò)展即可。

JAVA開(kāi)發(fā)與運(yùn)維(web生產(chǎn)環(huán)境部署)

?文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-445225.html

到了這里,關(guān)于JAVA開(kāi)發(fā)與運(yùn)維(web生產(chǎn)環(huán)境部署)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶(hù)投稿,該文觀(guān)點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包