【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 ```Lua 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文件,添加镜像加速器地址: ```Lua 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 ```Lua # 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) 修改文件 ```php [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 /bin/bash su root apt-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" != "" ] ; then docker stop $container docker rm $container fi image=`docker images |grep mochat | awk '{print $3}'` echo image if [ "$image" != "" ] ; then docker rmi $image fi docker build -t helloworld:v1 . docker run -d --name helloworld -p 8081:8081 mochat-app:v1 docker image prune -f 至此服务器初始化环境设置完成

相关推荐
BASIS-Jack7 分钟前
SAP IAS云产品简介
运维
周天天9 分钟前
linux 服务器一步部署jar包,并设置开机自启动和使用systemcl进行服务管理
运维·自动化运维
databook10 分钟前
核函数:让支持向量机从“青铜”变“王者”
python·机器学习·scikit-learn
用户40937927136811 分钟前
异常
python
患得患失94912 分钟前
【后端】【Django】Django 模型中的 `clean()` 方法详解:数据校验的最后防线
数据库·python·django
翻滚吧键盘19 分钟前
在 Debian 12 中恢复被删除的 smb.conf 配置文件
运维·数据库·debian
无名的小码农20 分钟前
【62期获取股票数据API接口】如何用Python、Java等五种主流语言实例演示获取股票行情API接口之沪深A股派现与募资对比数据及接口API说明文档
java·开发语言·python·股票api·股票数据接口·股票数据
小鄒鄒20 分钟前
Java表达式1.0
开发语言·python
BranH26 分钟前
Linux系统中的网络管理
linux·运维·服务器