centos或aws linux部署java应用,环境搭建shell

这篇具有很好参考价值的文章主要介绍了centos或aws linux部署java应用,环境搭建shell。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

设置root密码

sudo passwd root
******

开启密码登录

vi /etc/ssh/sshd_config
...
PasswordAuthentication yes
PermitRootLogin yes
...

报存并退出vi,重启sshd

sudo service sshd restart

安装docker

#安装前先移除系统可能自带的妖魔鬼怪
sudo yum -y remove containerd.io docker-buildx-plugin docker-compose-plugin docker-ce podman-docker docker-ce-cli

#yum管理工具=yum-config-manager
sudo yum -y install -y yum-utils

#sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
#千万不要使用阿里云的地址,阿里云的镜像已经将docker用podman进行了狸猫换太子,实际安装的是podman-docker,无法使用idea的ssh进行连接。
#删除所有名字带docker的源:cd /etc/yum.repos.d 然后rm -f yum.repos.d目录下的源(文件名)
sudo yum-config-manager -y --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo yum clean all
sudo yum makecache
sudo yum -y install docker-ce docker-ce-cli containerd.io

可能遇到的问题:
更换成官方仓库后运行sudo yum install docker-ce失败,提示"404 for https://download.docker.com/inux/centos/docker-ce.re/repodata/repomd.xml
解决办法:

curl -I https://download.docker.com

看看能否正常访问docker官网,如果不能就去解决网络问题,如果能,继续下面步骤:

sudo yum clean all
sudo yum makecache
#如果makecache报错,则重新clean all再makecache,直到不报错为止。
sudo yum install docker-ce docker-ce-cli containerd.io
#最后这个安装命令如果失败,就多试几次,因为网络不稳定有时候下载不下来。

安装nginx

sudo yum -y install pcre-devel zlib-devel openssl openssl-devel
sudo yum -y install epel-release
sudo yum -y install nginx
sudo yum -y install nginx-all-modules.noarch

设置nginx自启动

systemctl enable nginx && systemctl start nginx

nginx配置

https配置

		ssl_certificate /mydata/nginx/keys/www.xuexibisai.com.pem;
        ssl_certificate_key /mydata/nginx/keys/www.xuexibisai.com.key;
        ssl_session_cache shared:SSL:1m;
        ssl_session_timeout  5m;
		ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
		ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
        ssl_prefer_server_ciphers on;

切记:有的网站下载的pem文件有问题,只有当前域名的证书,没有上级的证书,导致很多浏览器无法访问。解决办法就是:把ca_bundle.crt的内容全部复制追加到certificate.crt后面,然后将crt转成pem文件openssl x509 -in ca.crt -out ca.pem -outform PEM

http集群

待续

tcp端口代理和负载均衡

在nginx.conf文件最后面加入:

stream {
	upstream tcpBalance {
		server www.xuexibisai.com:9681 weight=5;
		server www.xuexibisai.com:9682 weight=5;
	}
	server {
		listen 9696;
		proxy_connect_timeout 20s;
		proxy_timeout 5m;
		proxy_pass tcpBalance;
	}
}

nginx打印post消息体日志

log_format main escape=json '{ "@timestamp": "$time_iso8601", "remoteaddr": "$remote_addr", "costime": "$request_time", "realtime": "$upstream_response_time", "status": $status, "request": "$request", "dm": "$request_body" }';
access_log  /var/log/nginx/access.log  main;

安装docker

sudo yum -y install -y yum-utils
sudo yum-config-manager -y  --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo yum -y install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo yum -y install docker

设置docker自启动

systemctl enable docker && systemctl start docker

修改docker基础配置

vi /etc/docker/daemon.json
...
#镜像服务器
"registry-mirrors": ["https://bfkszez0.mirror.aliyuncs.com"],
#域名解析服务器
"dns": ["8.8.8.8"],
#日志配置
"log-driver":"json-file",
"log-opts":{"max-size":"1500m","max-file":"100"}
...

创建docker网关

作用是容器内可以在不知道宿主机ip的情况下使用192.168.0.1来访问宿主机。

docker network create -d bridge --subnet 192.168.0.0/24 --gateway 192.168.0.1 mygateway

docker安装mysql

单机版本

docker run --restart=always -d -p 3306:3306 --privileged=true -v /mydata/mysql/log:/var/log/mysql -v /mydata/mysql/data:/var/lib/mysql -v /mydata/mysql/conf:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD="123456" --name mysql mysql:5.7.15

主从版本

请参考文章操作:https://blog.csdn.net/u012643122/article/details/125899829

mysql安装特别注意点

有些docker的mysql镜像的my.cnf文件和my.cnf.d目录配置文件在/etc目录下,不在/etc/mysql目录下,对应命令需要修改。
先在宿主机新建文件/mydata/mysql/conf/my.cnf,文件内容如下:

# For advice on how to change settings please see
# http://dev.mysql.com/doc/refman/8.0/en/server-configuration-defaults.html
[mysqld]
#
# Remove leading # and set to the amount of RAM for the most important data
# cache in MySQL. Start at 70% of total RAM for dedicated server, else 10%.
# innodb_buffer_pool_size = 128M
#
# Remove leading # to turn on a very important data integrity option: logging
# changes to the binary log between backups.
# log_bin
#
# Remove leading # to set options mainly useful for reporting servers.
# The server defaults are faster for transactions and fast SELECTs.
# Adjust sizes as needed, experiment to find the optimal values.
# join_buffer_size = 128M
# sort_buffer_size = 2M
# read_rnd_buffer_size = 2M

# Remove leading # to revert to previous value for default_authentication_plugin,
# this will increase compatibility with older clients. For background, see:
# https://dev.mysql.com/doc/refman/8.0/en/server-system-variables.html#sysvar_default_authentication_plugin
# default-authentication-plugin=mysql_native_password
skip-host-cache
skip-name-resolve
datadir=/var/lib/mysql
socket=/var/run/mysqld/mysqld.sock
secure-file-priv=/var/lib/mysql-files
user=mysql

pid-file=/var/run/mysqld/mysqld.pid
[client]
socket=/var/run/mysqld/mysqld.sock

!includedir /etc/mysql/conf.d/

然后创建mysql容器:

docker run --restart=always -d -p 3306:3306 --privileged=true -v /mydata/mysql/log:/var/log/mysql -v /mydata/mysql/data:/var/lib/mysql -v /mydata/mysql/conf/my.cnf:/etc/my.cnf -v /mydata/mysql/conf/my.cnf.d:/etc/my.cnf.d -e MYSQL_ROOT_PASSWORD="123456" --name mysql mysql:8.0

友情提示:my.cnf文件内容和路径如何获取?可以创建一个不挂载任何数据卷的mysql容器(docker run -d -p 3306:3306 --name mysql mysql:8.0),然后docker exec命令进入后查看my.cnf到底在哪个路径,并使用docker cp命令将my.cnf文件拷贝到宿主机。

docker安装redis

设置密码:

docker run --restart=always --log-opt max-size=100m --log-opt max-file=2 -p 6379:6379 --name redis -v /mydata/redis/redis.conf:/etc/redis/redis.conf -v /mydata/redis/data:/data -d redis redis-server /etc/redis/redis.conf  --appendonly yes  --requirepass 123456

不要密码:

docker run --restart=always --log-opt max-size=100m --log-opt max-file=2 -p 6379:6379 --name redis -v /mydata/redis/redis.conf:/etc/redis/redis.conf -v /mydata/redis/data:/data -d redis redis-server /etc/redis/redis.conf

docker安装rabbitmq和mqtt

安装rabbitmq:

docker run --restart=always -d --name rabbitmq -e RABBITMQ_DEFAULT_USER=myname -e RABBITMQ_DEFAULT_PASS=123456 -p 1883:1883 -p 15672:15672 -p 15674:15674 -p 5672:5672 rabbitmq:management

开启mqtt:

docker exec rabbitmq /bin/sh -c "rabbitmq-plugins enable rabbitmq_mqtt;rabbitmq-plugins enable rabbitmq_web_mqtt;"

rabbitmq连接地址:http://宿主机ip:5672
mqtt连接地址:http://宿主机ip:1883
rabbitmq管理界面:http://宿主机ip:15672

docker安装rabbitmq和emqx

安装rabbitmq:

docker run --restart=always -d --name rabbitmq -e RABBITMQ_DEFAULT_USER=myname -e RABBITMQ_DEFAULT_PASS=123456 -p 15672:15672 -p 15674:15674 -p 5672:5672 rabbitmq:management

安装emqx:

docker run -d --name emqx -p 1883:1883 -p 18083:18083 -p 8083:8083 --restart=always emqx/emqx:latest

支持微信小程序websocket:

docker exec -it -uroot emqx bash
echo "listeners.ws.default.websocket.fail_if_no_subprotocol = false" >> ./etc/emqx.conf

emqx管理界面:http://宿主机ip:18083
emqx默认账号密码:admin/public

docker安装rocketmq

安装nameserver

docker run -d --restart=always --name rocket-namesrv -p 9876:9876 -v /mydata/rocketmq/namesrv/logs:/root/logs -v /mydata/rocketmq/namesrv/store:/root/store -e "MAX_POSSIBLE_HEAP=100000000" rocketmqinc/rocketmq sh mqnamesrv 

新建配置:

vi /mydata/rocketmq/broker/conf/broker.conf
# 所属集群名称,如果节点较多可以配置多个
brokerClusterName = DefaultCluster
#broker名称,master和slave使用相同的名称,表明他们的主从关系
brokerName = broker-a
#0表示Master,大于0表示不同的slave
brokerId = 0
#表示几点做消息删除动作,默认是凌晨4点
deleteWhen = 04
#在磁盘上保留消息的时长,单位是小时
fileReservedTime = 48
#有三个值:SYNC_MASTER,ASYNC_MASTER,SLAVE;同步和异步表示Master和Slave之间同步数据的机制;
brokerRole = ASYNC_MASTER
#刷盘策略,取值为:ASYNC_FLUSH,SYNC_FLUSH表示同步刷盘和异步刷盘;SYNC_FLUSH消息写入磁盘后才返回成功状态,ASYNC_FLUSH不需要;
flushDiskType = ASYNC_FLUSH
# 设置broker节点所在服务器的ip地址
brokerIP1 = 192.168.0.1
# 磁盘使用达到95%之后,生产者再写入消息会报错 CODE: 14 DESC: service not available now, maybe disk full
diskMaxUsedSpaceRatio=95

安装broker:

docker run -d  --restart=always --name rmqbroker --link rocket-namesrv:namesrv -p 10911:10911 -p 10909:10909 -v  /mydata/rocketmq/broker/logs:/root/logs -v  /mydata/rocketmq/broker/store:/root/store -v /mydata/rocketmq/broker/conf/broker.conf:/opt/rocketmq-4.4.0/conf/broker.conf -e "NAMESRV_ADDR=namesrv:9876" -e "MAX_POSSIBLE_HEAP=200000000" rocketmqinc/rocketmq sh mqbroker -c /opt/rocketmq-4.4.0/conf/broker.conf 

docker安装nacos2

下载nacos的压缩包(可能需要参考里面的默认配置文件和sql文件):
https://github.com/alibaba/nacos/releases/download/2.2.1/nacos-server-2.2.1.zip

单机版

新增配置:

vi /mydata/nacos/conf/application.properties
...
### 修改数据库配置start(如果不需要mysql,将下面配置全部注释即可):
spring.datasource.platform=mysql
spring.sql.init.platform=mysql
db.num=1
db.url.0=jdbc:mysql://192.168.0.1:3306/nacos-config?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
db.user.0=root
db.password.0=123456
### 修改数据库配置end(如果不需要mysql,将上面配置全部注释即可):
...
### 一定要改这个:
nacos.core.auth.plugin.nacos.token.secret.key=M6vLzgEfg0Tt7nsHgGh84Pb64dXdeKp2C
...

创建数据库nacos-config(如果不需要mysql,则无需执行):

docker exec mysql /bin/sh -c "mysql -uroot -p123456 -e \"create database nacos-config default character set utf8 collate utf8_bin\""

运行nacos自带的sql(如果不需要mysql,则无需执行):

docker cp /mydata/nacos/conf/mysql-schema.sql mysql:/home/nacos_config.sql
docker exec mysql /bin/sh -c "mysql -uroot -p123456 -e \"source /home/nacos_config.sql\""

安装nacos

docker run -d --name nacos -p 8848:8848 -p 9848:9848 -p 9849:9849 -e MODE=standalone -v /mydata/nacos/logs/:/home/nacos/logs -v /mydata/nacos/conf/:/home/nacos/conf/ --restart=always nacos/nacos-server:v2.2.1

客户端访问地址:
nacos连接地址:server-addr: 宿主机ip:8848
nacos管理界面:http://宿主机ip:8848/nacos
nacos默认账号密码:nacos/nacos

集群版

集群版只比单机版多个cluster.conf配置文件,其他都一样

新增配置application.properties(参考单机版,省略):

vi /mydata/nacos/conf/application.properties

新增配置cluster.conf:

vi /mydata/nacos/conf/cluster.conf
192.168.0.1:8848
192.168.0.1:8858

安装nacos1

docker run -d --name nacos1 -p 8848:8848 -p 9848:9848 -p 9849:9849 -v /mydata/nacos1/logs/:/home/nacos/logs -v /mydata/nacos1/conf/:/home/nacos/conf/ --restart=always nacos/nacos-server:v2.2.1

安装nacos2

docker run -d --name nacos2 -p 8858:8848 -p 9858:9848 -p 9859:9849 -v /mydata/nacos2/logs/:/home/nacos/logs -v /mydata/nacos2/conf/:/home/nacos/conf/ --restart=always nacos/nacos-server:v2.2.1

客户端访问地址:
nacos连接地址:server-addr: 宿主机ip:8848,宿主机ip:8858
nacos1管理界面:http://宿主机ip:8848/nacos
nacos2管理界面:http://宿主机ip:8858/nacos
nacos默认账号密码:nacos/nacos文章来源地址https://www.toymoban.com/news/detail-724408.html

到了这里,关于centos或aws linux部署java应用,环境搭建shell的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Centos7 搭建yum源和部署DNS环境

    1.关闭selinux # setenforce 0  2.关闭防火墙 # systemctl stop firewalld # systemctl status firewalld 3.开启缓存 # vim /etc/yum.conf keepcache= 0 改为keepcache= 1  4.在/etc/yum.repos.d/目录下把原有的repo源备份到yum_bak目录下 # cd /etc/yum.repos.d/ # mkdir yum_bak mv *repo yum_bak  5.新建编辑本地repo源 # vim centos-tt.repo  

    2024年02月06日
    浏览(27)
  • centos7搭建k8s环境并部署springboot项目

    之前看了很多文章,都是部署后一直报错,百度解决后下次又忘了,这次决定把从头到尾的过程记录下来方便下次再看 ,部署参考文章尚硅谷Kubernetes(k8s)视频学习笔记_尚硅谷k8s笔记_溯光旅者的博客-CSDN博客 1、先去下载vmware虚拟机安装,我安装的是这个版本VMware Workstati

    2024年02月03日
    浏览(31)
  • CentOS系统环境搭建(四)——Centos7安装Java

    centos系统环境搭建专栏🔗点击跳转

    2024年02月12日
    浏览(41)
  • (一)Linux 环境下搭建 ElasticSearch (CentOS 7)

    目录 1、搭建 Linux 相关环境 2、执行解压操作 3、创建新用户 4、修改配置文件  elasticsearch.yml 5、启动 ElasticSearch 6、修改虚拟机配置文件 7、重新启动 ElasticSearch 8、查看是否启动命令 9、访问 ElasticSearch 没有服务器安装VM,系统是 ubuntu、CentOS7 环境都可以。用 XShell、Xftp 连接并

    2023年04月26日
    浏览(20)
  • Linux系统(Centos7)部署JDK环境

    要想在将Java项目上线,则必须在Linux系统中部署Java项目,而要想Java项目在Linux系统中运行,则首先必须在LInux系统中部署JDK环境,具体步骤如下所示: 1.下载JDK8 JDK下载路径 目前官网下载jdk的时候需要登录,这边分享一个可以使用的账号,方便大家下载: 账号:913898356@qq.c

    2024年02月16日
    浏览(38)
  • linux CentOS7 keepalived+LVS(DR)搭建部署

    1.准备5台虚拟机,2台做LVS主备调度器,2台做web服务器,1台做存储,主机机验证 2.LVS主备调度器 master(192.168.1.127)backup(192.168.1.106) 3.web1(192.168.1.121)web2(192.168.1.118) 4.存储(192.168.1.15) 5.虚拟ip(192.168.1.111) 关闭防火墙 ————————————————   开始 写入

    2024年02月09日
    浏览(31)
  • Kafka3.0.0版本——集群部署(linux环境-centos7)

    三台服务器 服务器名称 服务器ip centos7虚拟机1 192.168.136.27 centos7虚拟机2 192.168.136.28 centos7虚拟机3 192.168.136.29 Zookeeper集群安装参考此博文链接:https://wwwxz.blog.csdn.net/article/details/129280956?spm=1001.2014.3001.5502 3.1、官网下载地址 官网下载地址:http://kafka.apache.org/downloads.html 3.2、下载

    2024年02月04日
    浏览(33)
  • Elasticsearch7.8.0版本入门——单机部署(linux环境-centos7)

    1.1、下载地址 下载地址:https://www.elastic.co/cn/downloads/past-releases#elasticsearch 1.2、下载步骤 下载步骤如下所示: linux环境(centos7)安装JDK11步骤图解参考此博文:https://wwwxz.blog.csdn.net/article/details/128899399?spm=1001.2014.3001.5502 上传安装包到home目录下 opt目录下创建es文件夹 进入home目

    2024年02月06日
    浏览(39)
  • minio 安装流程(linux) Centos7环境下搭建minio步骤详细教程

    一、下载安装文件     1、在home目录下创建minio文件夹     2、进入/home/minio 文件夹     3、下载文件 二、创建数据文件夹     三、创建日志文件 四、启动   如果想要修改超管账户名和密码 1、打开 /etc/profile 文件 2、在文件的最末尾加上以下信息(启动的时候看提示,新版

    2024年02月10日
    浏览(51)
  • Linux CentOS下大数据环境搭建(zookeeper+hadoop+hbase+spark+scala)

    本篇文章是结合我个人学习经历所写,如果遇到什么问题或者我有什么错误,欢迎讨论。 百度网盘链接:https://pan.baidu.com/s/1DCkQQVYqYHYtPws9hWGpgw?pwd=zh1y 提取码:zh1y 软件在连接中VMwareWorkstation_V16.2.1_XiTongZhiJia的文件夹下。 双击运行安装包,这里下一步即可。 这里勾选我接受许可

    2024年04月15日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包