当前位置: 首页 > news >正文

【CentOs】构建云服务器部署环境

 (一) 服务器采购 2 CPU4G 内存40G 系统盘 80G 数据盘

 (二) 服务器安全组和端口配置

 (三) 磁盘挂载


1 登录
    root 
2 查看目前磁盘使用情况
    df -h 
3 查看磁盘挂载情况 识别哪些磁盘没挂载
    fdisk -l 
4 对未挂载磁盘做分区
    fdisk /dev/vdb  
    输入m,
    根据提示依次输入“n”,“p”,“1”,两次回车,“wq”,分区就开始了
5 查看所有分区,vdb分区已经建立
    fdisk -l
6 格式化新分区
    输入命令 mkfs.ext4 /dev/vdb ##实际分区名
7 添加分区信息
    输入命令:echo “/dev/vdb /mnt/data ext4 defaults 0 0” >> /etc/fstab
8挂载数据盘
    输入命令:mount /dev/vdb /mnt/data
9 验证挂载情况 输入df -h 查看是否挂载成功.

(四) 安装 jdk


手动解压JDK的压缩包,然后设置环境变量

1.在/usr/目录下创建java目录

[root@localhost ~]# mkdir/usr/java
[root@localhost ~]# cd /usr/java

2.下载jdk,然后解压

[root@localhost java]# curl -O http://download.Oracle.com/otn-pub/java/jdk/7u79-b15/jdk-7u79-linux-x64.tar.gz 
[root@localhost java]# tar -zxvf jdk-7u79-linux-x64.tar.gz

3.设置环境变量

[root@localhost java]# vi /etc/profile

在profile中添加如下内容:

#set java environment

JAVA_HOME=/usr/java/jdk1.7.0_79
JRE_HOME=/usr/java/jdk1.7.0_79/jre
CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export JAVA_HOME JRE_HOME CLASS_PATH PATH

让修改生效:
[root@localhost java]# source /etc/profile

4.验证JDK有效性
[root@localhost java]# java -version
java version "1.7.0_79"
Java(TM) SE Runtime Environment (build 1.7.0_79-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.79-b02, mixed mode)

 (五) 安装docker


1) Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的CentOS 版本是否支持 Docker 。
通过 uname -r 命令查看你当前的内核版本
 uname -r 

2)安装 Docker
Docker 软件包和依赖包已经包含在默认的 CentOS-Extras 软件源里,安装命令如下:
 yum -y install docker
 
3) 检查安装结果  
docker --version
Docker version 1.13.1, build 7d71120/1.13.1

4 启动 Docker 后台服务
service docker start

5 配置docker镜像加速器
‌修改Docker配置文件‌
创建或编辑/etc/docker/daemon.json文件,添加镜像加速器地址:

sudo tee /etc/docker/daemon.json <<-'EOF'
{"registry-mirrors": ["https://<加速器地址>"]
}
EOF

‌重启Docker服务
sudo systemctl daemon-reload
sudo systemctl restart docker


(六) docker安装redis


1 拉取redis镜像
docker pull redis:6.2.6
2 查看镜像 
docker images

3 创建redis配置文件数据卷
[root@syf/]# mkdir -p /mnt/data/redis/conf
[root@syf/]# cd  /mnt/data/redis/conf
 
4-创建文件
[root@syf conf]# touch redis.conf
[root@syf conf]# ls
redis.conf
 
5-编写文件内容  (进入后 i 子母键插入,黏贴下面配置,:wq! 保存并退出)
[root@syf conf]# vim redis.conf
 


# Redis服务器配置 
# 绑定IP地址
#解除本地限制 注释bind 127.0.0.1  
#bind 127.0.0.1  # 服务器端口号  
port 6379 #配置密码,不要可以删掉
requirepass syf133618#这个配置不要会和docker -d 命令 冲突
# 服务器运行模式,Redis以守护进程方式运行,默认为no,改为yes意为以守护进程方式启动,可后台运行,除非kill进程,改为yes会使配置文件方式启动redis失败,如果后面redis启动失败,就将这个注释掉
daemonize no#当Redis以守护进程方式运行时,Redis默认会把pid写入/var/run/redis.pid文件,可以通过pidfile指定(自定义)
#pidfile /data/dockerData/redis/run/redis6379.pid  #默认为no,redis持久化,可以改为yes
appendonly yes#当客户端闲置多长时间后关闭连接,如果指定为0,表示关闭该功能
timeout 60
# 服务器系统默认配置参数影响 Redis 的应用
maxclients 10000
tcp-keepalive 300#指定在多长时间内,有多少次更新操作,就将数据同步到数据文件,可以多个条件配合(分别表示900秒(15分钟)内有1个更改,300秒(5分钟)内有10个更改以及60秒内有10000个更改)
save 900 1
save 300 10
save 60 10000# 按需求调整 Redis 线程数
tcp-backlog 511# 设置数据库数量,这里设置为16个数据库  
databases 16# 启用 AOF, AOF常规配置
appendonly yes
appendfsync everysec
no-appendfsync-on-rewrite no
auto-aof-rewrite-percentage 100
auto-aof-rewrite-min-size 64mb# 慢查询阈值
slowlog-log-slower-than 10000
slowlog-max-len 128# 是否记录系统日志,默认为yes  
syslog-enabled yes  #指定日志记录级别,Redis总共支持四个级别:debug、verbose、notice、warning,默认为verbose
loglevel notice# 日志输出文件,默认为stdout,也可以指定文件路径  
logfile stdout# 日志文件
#logfile /var/log/redis/redis-server.log# 系统内存调优参数   
# 按需求设置
hash-max-ziplist-entries 512
hash-max-ziplist-value 64
list-max-ziplist-entries 512
list-max-ziplist-value 64
set-max-intset-entries 512
zset-max-ziplist-entries 128
zset-max-ziplist-value 64


 6 启动redis容器
docker run -p 6379:6379 --name redis -d redis:latest --restart=always \
 -v /mnt/data/redis/conf/redis.conf:/etc/redis/redis.conf \
 -v /mnt/data/redis/data:/data \
 -v /mnt/data/redis/logs:/logs \
  redis-server /etc/redis/redis.conf


 (七) docker安装mysql


1)拉取镜像
docker pull mysql:8.0.27

2)查看所拉取的镜像
docker images

3) 创建目录 
mkdir /mnt/data/mysql/conf
mkdir /mnt/data/mysql/data
mkdir /mnt/data/mysql/log
mkdir /mnt/data/mysql/mysql-files

4) 创建文件
touch my.cnf

5) 修改文件

[client]
# 端口号
port=3306[mysql]
no-beep
default-character-set=utf8mb4[mysqld]
bind-address = 0.0.0.0
# 端口号
port=3306
# 数据目录
datadir=/var/lib/mysql
# 新模式或表时将使用的默认字符集
character-set-server=utf8mb4
# 默认存储引擎
default-storage-engine=INNODB
# 将 SQL 模式设置为严格
sql-mode="STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION"
#  最大连接数
max_connections=1024
# 表缓存
table_open_cache=2000
# 表内存
tmp_table_size=16M
# 线程缓存
thread_cache_size=10
# 设置大小写不敏感
lower_case_table_names=1# myisam设置
myisam_max_sort_file_size=100G
myisam_sort_buffer_size=8M
key_buffer_size=8M
read_buffer_size=0
read_rnd_buffer_size=0# innodb设置
innodb_flush_log_at_trx_commit=1
innodb_log_buffer_size=1M
innodb_buffer_pool_size=8M
innodb_log_file_size=48M
innodb_thread_concurrency=33
innodb_autoextend_increment=64
innodb_buffer_pool_instances=8
innodb_concurrency_tickets=5000
innodb_old_blocks_time=1000
innodb_open_files=300
innodb_stats_on_metadata=0
innodb_file_per_table=1
innodb_checksum_algorithm=0
# 其他设置
back_log=80
flush_time=0
join_buffer_size=256K
max_allowed_packet=4M
max_connect_errors=100
open_files_limit=4161
sort_buffer_size=256K
table_definition_cache=1400
binlog_row_event_max_size=8K
sync_master_info=10000
sync_relay_log=10000
sync_relay_log_info=10000 

# 6 重新创建容器
docker run \
-p 3306:3306 \
--restart=always \
--name mysql \
-v /mnt/data/mysql/logs:/var/log/mysql \
-v /mnt/data/mysql/data:/var/lib/mysql \
-v /mnt/data/mysql/conf:/etc/mysql \
-v /mnt/data/mysql/data/mysql-files:/var/lib/mysql-files \
-e MYSQL_ROOT_PASSWORD=1qaz2wsx \
-d mysql:8.0.24

7 进入容器
docker exec -ti mysql /bin/bash 

8 连接mysql 
mysql -u root -p 
entern 回车

9 执行修改root任何ip可以连接并定义密码
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'your_password'; 
FLUSH PRIVILEGES;
exit 退出容器 
10 docker restart mysql 

(八) docker安装jenkins


1)拉取jenkins镜像

docker pull jenkins/jenkins

2)构建jenkins_home作为安装目录

[root@localhost /] mkdir /mnt/data/jenkins_home
[root@localhost /] chmod 777 -R /mnt/data/jenkins_home

3)关闭 selinux

[root@localhost /] getenforce
Enforcing
[root@localhost /] setenforce 0
[root@localhost /] getenforce
Permissive

4 启动容器,映射对应端口号

docker run -u root \
-d --name=jenkins \
-p 8088:8080 \
-p 10240:50000 \
-v /mnt/data/jenkins_home:/var/jenkins_home \
-e JAVA_OPTS="-Dhudson.model.DownloadService.noSignatureCheck=true" \
jenkins/jenkins:lts-jdk8

5 上传jdk,maven 包到/mnt/data/jenkins_home目录下
6 安装git

    docker exec -it <jenkins容器名称或ID> /bin/bashsu rootapt-get update && apt-get install -y git

7 配置构建环境
配置插件镜像地址 https://mirrors.huaweicloud.com/jenkins/updates/update-center.json

8 全局配置jdk home || maven home
JAVA /var/jenkins_home/jdk1.8.0_333
Maven /var/jenkins_home/apache-maven-3.9.9

9 新建项目配置 Source Code Management
https://gitee.com/xxxx/xxxx.git
配置username/password

10 安装Publish over SSH插件 

Manage Jenkins->System Configuration->Publish over SSH (配置并设置宿主机密码)

11  post build action->set build artifacts over ssh

rm -rf /mnt/data/app/*.jar
rm -rf /mnt/data/app/Dockerfile
mv /mnt/data/jenkins_home/workspace/mochat-app/mochat-app/target/*.jar /mnt/data/app/
mv /mnt/data/jenkins_home/workspace/mochat-app/Dockerfile /mnt/data/app/
cd  /mnt/data/app
./deploy.sh
container=`docker ps -a |grep helloworld | awk '{print $1}'`
echo $container
if [ "$container" != "" ] ; thendocker stop $containerdocker rm $container
fi
image=`docker images |grep mochat | awk '{print $3}'`
echo image
if [ "$image" != "" ] ; thendocker rmi $image
fi
docker build -t helloworld:v1 .
docker run -d --name helloworld -p 8081:8081 mochat-app:v1
docker image prune -f

至此服务器初始化环境设置完成
 

相关文章:

  • ClickHouse核心架构设计
  • day47——平方数之和(LeetCode-633)
  • STM32(M4)入门:GPIO与位带操作(价值 3w + 的嵌入式开发指南)
  • FFmpeg:M3U8的AES加密
  • 《Android 应用开发基础教程》——第三章:布局管理与 UI 组件详解
  • 多模态大语言模型arxiv论文略读(三十一)
  • 机器学习 Day12 集成学习简单介绍
  • [Windows]_[VS2017]_[如何进行远程调试程序]
  • POSIX标准系统调用详解:从概念到实践
  • 破解吞咽困境!进行性核上性麻痹患者的科学饮食方案
  • 62页华为IPD-MM流程:市场调研理论与实践方案精读【附全文阅读】
  • Linux 网络基础(二) (传输协议层:UDP、TCP)
  • 【算法提高】单源最短路的建图方式
  • Linux系统编程---孤儿进程与僵尸进程
  • UML统一建模
  • Vue常用指令入门
  • 【项目实训个人博客】数据集搜集
  • 【python】尾部多写个逗号会把表达式变成 tuple
  • 使用virtualbox的HostOnly建立共享网络-实现虚拟机上网
  • 面向对象编程的四大特性详解:封装、继承、多态与抽象
  • 这5种走路姿势,藏着疾病秘密,第2种你可能也有
  • 上海与丰田汽车签署战略合作协议,雷克萨斯纯电动汽车项目落子金山
  • 上海市政府常务会议部署多措并举促进消费,提高居民收入,减轻家庭负担
  • 市场监管部门完成全国保健食品生产企业体系检查首轮全覆盖
  • 30小时已过,俄罗斯复活节停火不再延长
  • 42岁北京大学科学技术与医学史系副教授陈昊逝世