阿里云 ECS 服务器系统重置实践
作者:智慧源点
- 2024-03-31 中国台湾
本文字数:3143 字
阅读完需:约 10 分钟
一、系统重置
先将服务器停止运行,在实例-》云盘-》初始化
二、系统重装
1、docker 安装
[root@instance-h9cwbr8m ~]# yum install -y yum-utils
Loaded plugins: langpacks, versionlock
Excluding 1 update due to versionlock (use "yum versionlock status" to show it)
Package yum-utils-1.1.31-54.el7_8.noarch already installed and latest version
Nothing to do
[root@instance-h9cwbr8m ~]#
--设置镜像仓库
yum-config-manager \
--add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
--先更新yum软件包索引
yum makecache fase
--docker社区、ee企业版 ce为社区版 官方推荐使用ce版,默认安装最新的docker
版本,也可以指定版本安装
yum install docker-ce docker-ce-cli containerd.io
--启动
systemctl start docker
docker version
--查看镜像
docker images
--创建网络
docker network create ele
--常用命令
-- 查看容器
docker ps
docker ps -a
-- 启动
docker start 容器id
docket restart 容器id
-- 停止
docker stop 容器id
复制代码
还可以使用镜像加速器
2、Jdk 安装
地址: http://www.oracle.com/technetwork/articles/javase/index-jsp-138363.html, 选择相应的 .gz 包下载
/usr/local/develop
tar -zxvf jdk-7u60-linux-x64.gz -C /usr/local/develop
vi /etc/profile
-- 追加
PATH=$PATH:/usr/local/nginx/sbin
export JAVA_HOME=/usr/local/develop/jdk1.8.0_391
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JRE_HOME=$JAVA_HOME/jre
export PATH
-- 生效
source /etc/profile
-- 查看版本
java -version
复制代码
3、nacos 安装
地址:
https://github.com/alibaba/nacos
解压:
/usr/local/develop
修改application.xml
修改Connect URL of DB
--启动
sh startup.sh -m standalone -p 8848
复制代码
4、gateway 安装
spring:
application:
name: gateway
profiles:
default: prod
cloud:
nacos:
discovery:
server-addr: ${REGISTER_HOST:}:${REGISTER_PORT:}
group: prod
namespace: ele-server
config:
server-addr: ${spring.cloud.nacos.discovery.server-addr}
file-extension: yml
namespace: ele-server
group: ele-gateway
extension-configs:
- data-id: gateway.yml
group: ele-gateway
refresh: true
username:
password:
gateway:
routes:
- id: ele-data
uri: lb://ele-data
predicates:
- Path=/api/data/**
filters:
- StripPrefix=1
- id: ele-wechat
uri: lb://ele-wechat
predicates:
- Path=/api/wechat/**
filters:
- StripPrefix=1
- id: ele-cms
uri: lb://ele-cms
predicates:
- Path=/api/cms/**
filters:
- StripPrefix=1
复制代码
跨域
@Configuration
@Slf4j
public class CorsConfig {
@Bean
public CorsWebFilter corsFilter(){
UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource(new PathPatternParser());
source.registerCorsConfiguration("/**", buildConfig());
return new CorsWebFilter(source);
}
private CorsConfiguration buildConfig(){
CorsConfiguration corsConfiguration = new CorsConfiguration();
//在生产环境上最好指定域名,以免产生跨域安全问题
corsConfiguration.addAllowedOriginPattern("*");
corsConfiguration.addAllowedHeader("*");
corsConfiguration.addAllowedMethod("*");
corsConfiguration.setAllowCredentials(true);
return corsConfiguration;
}
}
复制代码
5、nginx 安装
sudo yum update
sudo yum install epel-release
sudo yum install nginx
sudo systemctl start nginx
cd /etc/nginx/nginx.conf
sudo /usr/sbin/nginx -s reload
一个https配置
server {
listen 80;
server_name 域名;
rewrite ^(.*)$ https://${server_name}$1 permanent;
error_log /home/ele/nginx_log/mini/error.log;
access_log /home/ele/nginx_log/mini/access.log;
}
server {
listen 443 ssl;
server_name 域名;
ssl_certificate cert/*.pem; --自行修改
ssl_certificate_key cert/*.key; --自行修改
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
location / {
root /home/admin/application/cms/dist;
index index.html;
}
}
复制代码
6、xxl-job 安装
-- 下载
docker pull xuxueli/xxl-job-admin:2.3.0
-- 启动
docker run -d \
-e PARAMS="--spring.datasource.url=jdbc:mysql://数据库地址?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&serverTimezone=UTC \
--spring.datasource.username= \
--spring.datasource.password= \
--spring.datasource.driver-class-name=com.mysql.jdbc.Driver" \
-p 8080:8080 \
-v /application/datas/xxjob/applogs:/data/applogs \
--name ele-xxl-job-admin-2.3.0 \
-d xuxueli/xxl-job-admin:2.3.0
复制代码
7、rabbitmq 安装
docker search rabbitmq
docker pull rabbitmq
docker run -d --name rabbitmq -p 15672:15672 -p 5672:5672 rabbitmq:management
-d 后台运行容器;
--name 指定容器名;
-p 指定服务运行的端口(5672:应用访问端口;15672:控制台Web端口号);
-v 映射目录或文件;
--hostname 主机名(RabbitMQ的一个重要注意事项是它根据所谓的 “节点名称” 存储数据,默认为主机名);
-e 指定环境变量;(RABBITMQ_DEFAULT_VHOST:默认虚拟机名;RABBITMQ_DEFAULT_USER:默认的用户名;
RABBITMQ_DEFAULT_PASS:默认用户名的密码)
--延迟插件安装
rabbitmq_delayed_message_exchange
这个插件可以到 https://www.rabbitmq.com/community-plugins.html 下载
--copy插件
docker cp rabbitmq_delayed_message_exchange-3.12.0.ez 容器id:/opt/rabbitmq/plugins
--进入容器内
docker exec -it 容器id /bin/bash
--启动插件
rabbitmq-plugins enable rabbitmq_delayed_message_exchange
复制代码
8、ecs 添加 sudo、shell 脚本
-- 添加sudo账号
sudo groupadd 组名
sudo useradd -m -g 组名 -s /bin/bash 用户名
sudo passwd 用户名
提示输入秘密
sudo usermod -aG 组名 用户名
su root
vi /etc/sudoers 中找到root权限,添加
用户名 ALL=(ALL) ALL
复制代码
docker日志清理,设置容器日志大小
sudo vim /etc/docker/daemon.json
{
"log-driver":"json-file",
"log-opts": {"max-size":"500m", "max-file":"3"}
}
--添加脚本
/usr/local/script/cut_log.sh
cd 日志路径 && find . -type f ( -name ".log" -o -name ".zip" ) -mtime +6 | xargs rm -f;
cd 日志路径 && find . -type f ( -name ".log" -o -name ".zip" ) -mtime +6 | xargs rm -f;
--设置1天清理一次
crontab -e
0 1 * * * sh /usr/local/script/cut_log.sh >/dev/null 2>&1
复制代码
划线
评论
复制
发布于: 刚刚阅读数: 5
智慧源点
关注
终身学习、研究java架构、ai大模型 2019-12-06 加入
商业合作: wytwhdwdd
评论