赞
踩
如果我们希望安装一个软件包,可以进行如下的操作:
- # 搜索软件包
- dnf search package-name
-
- # 查看软件包信息
- dnf info package-name
-
- # 安装软件包
- dnf install package-name
部署会使用nginx
,所以需要先安装一下nginx
:
dnf install nginx
启动nginx
:
- # 启动nginx
- systemctl start nginx
- # 查看启动状态
- systemctl status nginx
- # 配置开机重启
- systemctl enable nginx
如果启动报错:Job for nginx.service failed because the control process exited with error code
,可参考Nginx——Nginx启动报错Job for nginx.service failed because the control process exited with error code-CSDN博客
- # 安装nodejs
- dnf install nodejs
如果项目没用到MySQL
,可以省略这个步骤。
- # 安装MySQL,这里加-y的意思是依赖的内容也安装
- dnf install mysql-server -y
- # 开启MySQL后台服务
- systemctl start mysqld
-
- # 查看MySQL服务:active (running)表示启动成功
- systemctl status mysqld
-
- # 随着系统一起启动
- systemctl enable mysqld
配置MySQL
账号和密码:
- mysql_secure_installation
-
- # 接下来有一些选项,比如密码强度等等一些
- # MySQL8开始通常设置密码强度较强,选择2
- # 其他的选项可以自行选择
现在,就可以直接在服务器中操作MySQL
了:
但是如果我们希望在自己的电脑上直接连接MySQL
呢?
也就是和MySQL
建立远程连接;
比如直接Navicat
工具中连接MySQL
;
这个时候必须要配置root
可以远程连接:
- # 使用mysql数据库
- use mysql;
- # 查看user表中,连接权限,默认看到root是localhost
- select host, user from user;
- # 修改权限
- update user set host = '%' where user = 'root';
-
- # 配置生效
- FLUSH PRIVILEGES;
注意:需要配置3306
的安全组
在真实的部署过程中,会使用一个工具pm2
来管理Node
的进程:
PM2
是一个Node
的进程管理器;
可以使用它来管理Node
的后台进程;
这样在关闭终端时,Node
进程会继续执行,那么服务器就可以继续提供服务;
安装pm2
:
npm install pm2 -g
pm2
常用的命令:
- # 命名进程
- pm2 start app.js --name my-api
- # 显示所有进程状态
- pm2 list
- # 停止指定的进程
- pm2 stop 0
- # 停止所有进程
- pm2 stop all
- # 重启所有进程
- pm2 restart all
- # 重启指定的进程
- pm2 restart 0
-
- # 杀死指定的进程
- pm2 delete 0
- # 杀死全部进程
- pm2 delete all
-
- #后台运行pm2,启动4个app.js,实现负载均衡
- pm2 start app.js -i 4
Jenkins
本身是依赖Java
的,所以需要先安装Java
环境,这里安装了Java 11
的环境,新版jenkins
最低支持需java 11
版本以上。
dnf install java-11-openjdk
因为Jenkins
本身是没有在dnf
的软件仓库包中的,所以需要连接Jenkins
仓库:
wget
是Linux
中下载文件的一个工具,-O
表示输出到某个文件夹并且命名为什么文件;
rpm
:全称为The RPM Package Manage,是Linux
下一个软件包管理器;
- wget –O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins-ci.org/redhat-stable/jenkins.repo
-
- # 导入GPG密钥以确保您的软件合法
- rpm --import https://pkg.jenkins.io/redhat/jenkins.io.key
- # 或者
- rpm --import http://pkg.jenkins-ci.org/redhat/jenkins-ci.org.key
- 可以通过vim编辑
-
- vi /etc/yum.repos.d/jenkins.repo
-
- # i表示insert
- i
-
- # 粘贴下面内容
- [jenkins]
-
- name=Jenkins-stable
-
- baseurl=http://pkg.jenkins.io/redhat
-
- gpgcheck=1
-
- # 按esc退出编辑,此时未完全退出
-
- # 按shift加:,再输入wq将编辑内容保存并退出
dnf install --nogpgcheck jenkins
- systemctl start jenkins
- systemctl status jenkins
- systemctl enable jenkins
Jenkins
默认使用8080
端口提供服务,所以需要加入到安全组中:
此时,在浏览器输入ip:8080
测试jenkins
服务是否成功启动,如果还是无法访问,参考:https://www.cnblogs.com/luoshuai7394/p/17341966.html
查看管理员密码:
cat /var/lib/jenkins/secrets/initialAdminPassword
安装默认推荐的Jenkins
插件:
git
dnf install git
配置Node
环境:成功配置后重启下Jenkins
安装Node
插件:
这里使用该插件的主要目的为:安装完项目依赖后,能够对项目进行重启。
这个步骤参考了该文章:jenkins 插件【Publish Over SSH】的使用说明_jenkins over ssh_小明大强的博客-CSDN博客,感谢这位老哥。
安装:
配置(密码方式):
然后点击高级,勾选【Use password authentication, or use a different key】使用密码登录,填写密码、端口、连接超时:
点击【Test Configuration】,测试连接,显示Success
即可
首先需要为服务器创建一个项目目录,目录位置随意,这里创建在根目录
mkdir xxx
Nginx
配置文件所在目录
/etc/nginx/nginx.conf
配置用户:
- - /etc/nginx/nginx.conf
-
- - user nginx;
- + user root
- worker_processes auto;
- error_log /var/log/nginx/error.log;
- pid /run/nginx.pid;
重启Nginx
:
systemctl restart nginx
新建任务:
配置项⽬和保留策略:
源码管理:
如果项目为私有项目,需要添加一个用户,如果为账号密码,则输入gitee
或github
对应的账号和密码。
构建触发器:
构建环境:
添加Shell脚本:
- pwd
- node -v
- npm -v
-
- npm install
-
- # 删除/root/xxx文件夹里所有的内容
- rm -rf /root/xxx/*
-
- # 将根目录里所有的内容复制到xxx
- cp -rf ./* /root/xxx/
增加构建步骤:
这里使用的Exec
命令视具体情况而定。
- cd exercise_demo/
- pm2 stop demoServer
- pm2 start ./src/main.js --name=demoServer
保存应用
方案三亲测有效。
- - /etc/sysconfig/jenkins
-
-
-
-
-
-
-
-
-
-
- JENKINS_JAVA_CMD=""
-
- ## Type: string
- ## Default: "jenkins"
- ## ServiceRestart: jenkins
- #
- # Unix user account that runs the Jenkins daemon
- # Be careful when you change this, as you need to update
- # permissions of $JENKINS_HOME and /var/log/jenkins,
- # and if you have already run Jenkins, potentially other
- # directories such as /var/cache/jenkins .
- #
- - JENKINS_USER="jenkins"
- + JENKINS_USER="root"
Jenkins
添加到root
组中sudo usermod -a -G root jenkins
Jenkins
目录权限- chown -R jenkins path
- # 例:chown -R jenkins /root/yc_airbnb
systemctl restart jenkins
推送代码到仓库后,查看Jenkins是否有进行打包,有说明成功了。
- #每半小时构建一次OR每半小时检查一次远程代码分支,有更新则构建
- H/30 * * * *
-
- #每两小时构建一次OR每两小时检查一次远程代码分支,有更新则构建
- H H/2 * * *
-
- #每天凌晨两点定时构建
- H 2 * * *
-
- #每月15号执行构建
- H H 15 * *
-
- #工作日,上午9点整执行
- H 9 * * 1-5
-
- #每周1,3,5,从8:30开始,截止19:30,每4小时30分构建一次
- H/30 8-20/4 * * 1,3,5
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。