二进制包部署项目.
本文操作系统为centos7.9
二进制包安装jdk
- 解压压缩包
shell
tar -zxf jdk-8u202-linux-x64.tar.gz -C /usr/local
mv jdk1.8.0_202 jdk1.8
- 配置环境变量
shell
# 打开配置文件
vi /etc/profile
# 按i进入编辑模式在文件末尾输入
JAVA_HOME=/usr/local/jdk1.8
PATH=$JAVA_HOME/bin:$PATH
# 按esc/有的是caps,输入wq!回车
# 重新加载环境变量
source /etc/profile
- 测试是否安装成功
shell
java -version
二进制包安装maven
- 解压压缩包
shell
tar tar -xvf apache-maven-3.9.9-bin.tar.gz
mv apache-maven-3.9.9 maven-3.9.9
- 配置环境变量
shell
# 打开配置文件
vi /etc/profile
# 按i进入编辑模式在文件末尾输入
MAVEN_HOME=/usr/local/tools/maven-3.9.9
PATH=$MAVEN_HOME/bin:$PATH
# 按esc/有的是caps,输入wq!回车
# 重新加载环境变量
source /etc/profile
- 测试是否安装成功
shell
mvn -version
二进制包安装mysql
- 官方安装参考
- 检查系统中的Mysql或mariadb,如果存在将其卸载
shell
rpm -qa | grep mysql
rpm -qa | grep mariadb
yum -y remove mariadb-libs.x86_64
yum -y remove mysql
- 创建mysql的专用用户
shell
# -M不创建主目录,-s /sbin/nologin不允许登录,-r创建的是系统用户
useradd -M -s /sbin/nologin -r mysql
- 安装依赖包
shell
# 版本大于等于5.7.19,对通用Linux构建添加了对非统一内存访问(NUMA)的支持,该构建现在依赖于 libnuma库。
yum install libaio
- 解压二进制包,创建数据目录,修改mysql文件所属主和所属组,然后初始化数据库
shell
# 解压
tar -zxf mysql-5.7.44-linux-glibc2.12-x86_64.tar.gz -C /usr/local/
cd /usr/local/
# 文件夹重命名,不然配置文件要写很长一段
mv mysql-5.7.44-linux-glibc2.12-x86_64/ mysql
cd mysql
# 创建数据目录
mkdir data
# 修改所属主和所属组
chown -R mysql.mysql /usr/local/mysql/
# 初始化,初始密码会在初始化打印日志的最后一行 例如: root@localhost: dc5fNL:cglp4
bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
- 编辑配置文件/etc/my.cnf, 如果没有需要自己创建, 下面是一个基础的配置文件
shell
[mysqld]
bind-address=0.0.0.0
port=3306
user=mysql
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/tmp/mysql.sock
log-error=/usr/local/mysql/data/mysql.err
pid-file=/usr/local/mysql/data/mysql.pid
# mysql 8.0 + NO_AUTO_CREATE_USER已弃用
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION
#character config
character_set_server=utf8mb4
symbolic-links=0
explicit_defaults_for_timestamp=true
- 配置环境变量,并刷新
shell
vi /etc/profile.d/mysql.sh
export PATH=/usr/local/mysql/bin:$PATH
source /etc/profile.d/mysql.sh
- 启动mysql
shell
cd /usr/local/mysql/support-files
./mysql.server start
- 修改默认密码并配置访问范围
shell
mysql -uroot -p'dc5fNL:cglp4'
set password for root@localhost=password('yourpassword');
# mysql 8.0 + PASSWORD() 函数已被弃用
# ALTER USER 'root'@'localhost' IDENTIFIED BY 'Qq@warm!26933wind';
# 选择数据库
use mysql
# 根据需求配置访问,这里是所有ip都可以访问
update user set host = '%' where user ='root';
# 刷新,不然不会生效
flush privileges;
- 授权用户(可选)
shell
# GRANT ALL PRIVILEGES:表示授予所有类型的权限。这些权限涵盖了数据库的创建、修改、删除,表的增删改查等各类操作。
# ON *.*:指定权限所作用的范围。其中第一个*代表所有数据库,第二个*代表所有表,意味着该权限适用于 MySQL 服务器中的所有数据库和表。
# TO 'root'@'%':明确要授予权限的用户和该用户可以登录的主机。'root'是用户名,'%'是通配符,表明该用户可以从任何主机登录到 MySQL 服务器。
# IDENTIFIED BY 'admin123':设定用户的登录密码为admin123。如果该用户已存在,这会更新其密码;若用户不存在,则会创建该用户并设置此密码。
# WITH GRANT OPTION:赋予该用户将自身拥有的权限再授予其他用户的能力。
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'admin' WITH GRANT OPTION;
# 刷新
flush privileges;
二进制包安装nginx
shell
# 下载gcc等工具和nginx的库模块
yum install gcc gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel -y
# 解压nginx
tar -zxf nginx-1.26.2.tar.gz
mkdir nginx
cd nginx-1.26.2
# 编译
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-file-aio --with-http_realip_module
make && make install
# 启动
cd /usr/local/nginx/sbin
./nginx
二进制包安装redis
shell
# 下载gcc等工具和nginx的库模块
yum install gcc gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel -y
# 解压nginx
tar -zxf redis-7.0.15.tar.gz
mkdir redis
cd redis-7.0.15
make && make install PREFIX=/usr/local/redis
# 启动
cd /usr/local/redis/redis-server redis.conf
shell
jenkins安装和部署
- 前置条件:
shell
# yum下载
yum install git
# 查看是否安装成功
git --version
- 官方安装jenkins参考
- 手动安装
3.2 上传到服务器
shell
# rpm安装
rpm -ivh jenkins-2.463-1.1.noarch.rpm
# 查看jenkins的状态以及配置文件位置
systemctl status jenkins
shell
# 修改Jenkins服务配置文件
vi /usr/lib/systemd/system/jenkins.service
3.3 修改用户和组为root;
3.4 指定jdk目录;修改启动端口号
3.5 重新加载系统配置,并启动jenkins
shell
systemctl daemon-reload
# 启动
systemctl start jenkins
# 停止
systemctl stop jenkins
3.6 启动失败相关问题
shell
# 如果启动失败使用以下命令查看启动失败的原因
systemctl status jenkins.service
journalctl -xe
journalctl -u jenkins.service -n 100 --no-pager
这里是缺少font文件直接下载就行
shell
yum install fontconfig-devel fontconfig -y
yum groupinstall "Fonts" -y
3.7 开放端口和安全组,需要和配置文件一致
shell
firewall-cmd --zone=public --add-port=8077/tcp --permanent
firewall-cmd --reload
3.8 配置镜像和default.json的地址
清华大学的配置文件已经移除可以使用华为或者其他的
还需要更改系统的default.json配置
shell
cd /var/lib/jenkins/updates/
sed -i 's#https://updates.jenkins.io/download#https://mirrors.tuna.tsinghua.edu.cn/jenkins#g' default.json
sed -i 's#http://www.google.com#https://www.baidu.com#g' default.json