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环境

    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日
    浏览(12)
  • centos7搭建k8s环境并部署springboot项目

    centos7搭建k8s环境并部署springboot项目

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

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

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

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

    (一)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日
    浏览(7)
  • Linux系统(Centos7)部署JDK环境

    Linux系统(Centos7)部署JDK环境

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

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

    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日
    浏览(10)
  • Kafka3.0.0版本——集群部署(linux环境-centos7)

    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日
    浏览(11)
  • Elasticsearch7.8.0版本入门——单机部署(linux环境-centos7)

    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日
    浏览(11)
  • minio 安装流程(linux) Centos7环境下搭建minio步骤详细教程

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

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

    Linux CentOS下大数据环境搭建(zookeeper+hadoop+hbase+spark+scala)

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

    2024年04月15日
    浏览(36)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包