项目部署
软件安装介绍
常见的安装方式
二进制发布包
软件已经针对具体平台编译打包发布开发人员拿到安装包之后只要解压,修改配置即可使用
RPM安装包
软件已经按照redhat的包管理工具规范RPM进行打包发布,需要获取到相应的软件RPM发布包,然后用RPM命令进行安装
- rpm命令安装
语法: rpm 参数 安装包
参数:
-v 显示指令执行过程
-h 表示显示进度
-q 查询包是否已经安装
-a 查看所有安装的软件
-i 安装软件
-U 更新升级
-e 卸载软件
–nodeps 不验证软件的相互关联性 - 常用命令:
安装:rpm -ivh rpm文件
升级:rpm -Uvh rpm文件
卸载:rpm -e --nodeps 软件名
查看所有安装的软件:rpm -qa | grep 具体名
YUM在线安装
软件已经以RPM规范打包,但发布在了网络上的一些服务器上,可用yum在线安装服务器上的rpm软件,并且会自动解决软件安装过程中的库依赖问题
yum install 软件名
yum localinstall rpm包 使用yum安装本地rpm包[此过程会自动解决依赖]
源码包
此种安装包软件以源码工程的形式发布,需要程序员自行编译安装
它一般包含四个步骤:
解压------>配置------->编译-------->安装
上传与下载工具
FTP(File Transfer Protocol,文件传输协议)
1. sftp(实现了ssh加密)
使用alt + p 组合键打开sftp窗口
get: 将远程主机(linux)中文件下载到本地主机(windows)
put: 将本地主机(windows)中文件上传到远程主机(linux)
quit: 断开FTP连接
pwd: 查询linux主机所在目录
lpwd: 查询windows主机所在目录
ls: 查询连接到当前linux主机所在目录有哪些文件
lls: 查询当前本地上传目录有哪些文件
lcd: 改变本地上传目录的路径
cd: 改变远程上传目录
2. lrzsz
我们可以使用yum安装方式安装: yum install lrzsz
注意:必须有网络
rz 上传
sz 下载
JDK安装
1. 查看当前Linux系统是否已经安装java
rpm -qa | grep -i java
rpm -e --nodeps xxxxxx
2. 解压已上传的JDK压缩包,并移动到/usr/local目录下
tar -zxvf /root/jdk-8u201-linux-x64.tar.gz -C/usr/local/
3. 测试jdk
/usr/local/jdk1.8.0_201/bin/java -version
4. 配置环境变量
vim /etc/profile
G 跳转到最后一行
i 进入插入模式
export JAVA_HOME=/usr/local/jdk1.8.0_201
export PATH=$PATH:$JAVA_HOME/bin
esc 进入命令行模式
:wq! 保存
5. 更新环境变量
source /etc/profile
6. 测试
java -version
Tomcat安装
1. 解压已上传的Tomcat压缩包,到/user/local目录下
tar -zxvf /root/apache-tomcat-8.5.27.tar.gz -C /root
cp -r /root/apache-tomcat-8.5.27 /usr/local/tomcat1
2. 启动tomcat
/usr/local/tomcat1/bin/startup.sh
3. 动态查看日志
tail -f /usr/local/tomcat1/logs/catalina.out
4. 防火墙放行端口
firewall-cmd --zone=public --add-port=8080/tcp --permanent
firewall-cmd --reload
5. 关闭tomcat
/usr/local/tomcat1/bin/shutdown.sh
Nginx安装
1. 安装必须库
yum install gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel -y
2. 解压文件
tar -zxvf /root/nginx-1.13.9.tar.gz -C /root
3. 配置
cd /root/nginx-1.13.9
./configure --prefix=/usr/local/nginx
4. 编译
make
5. 安装
make install
6. 启动
/usr/local/nginx/sbin/nginx
7. 防火墙放行端口
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --reload
8. 停止nginx
/usr/local/nginx/sbin/nginx -s stop #停止服务
9. 修改后,执行
/usr/local/nginx/sbin/nginx -s reload #重新加载配置
MySQL安装
1. 查看CentOS是否自带的MySQL环境
rpm -qa | grep -i mysql
rpm -qa | grep -i mariadb
2. 卸载mariadb
rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64
3. 解压文件
mkdir -p /usr/local/mysql
tar -zxvf /root/mysql-5.7.25-1.el7.x86_64.rpm-bundle.tar.gz -C/usr/local/mysql
cd /usr/local/mysql/
4. 安装libaio环境(已经存在不需要)
yum install libaio
5. 安装MySQL(按顺序)
rpm -ivh /usr/local/mysql/mysql-community-common-5.7.25-1.el7.x86_64.rpm
rpm -ivh /usr/local/mysql/mysql-community-libs-5.7.25-1.el7.x86_64.rpm
rpm -ivh /usr/local/mysql/mysql-community-devel-5.7.25-1.el7.x86_64.rpm
rpm -ivh /usr/local/mysql/mysql-community-libs-compat-5.7.25-1.el7.x86_64.rpm
rpm -ivh /usr/local/mysql/mysql-community-client-5.7.25-1.el7.x86_64.rpm
rpm -ivh /usr/local/mysql/mysql-community-server-5.7.25-1.el7.x86_64.rpm
6. 启动mysql服务
systemctl start mysqld
7. 查看随机生成的密码
grep 'temporary password' /var/log/mysqld.log
8. 修改root用户密码
mysql -u root -p
Enter password:输入刚才查询到的随机密码
>set global validate_password_length=4;
>set global validate_password_policy=LOW;
>set password = password('root');
9. 防火墙放行端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --reload
10. 开启mysql的远程登录权限
mysql -uroot -proot
> CREATE USER 'root'@'%' IDENTIFIED BY 'root';
> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' ;
> FLUSH PRIVILEGES;
> exit;
11. MySQL编码问题(默认安装完毕为 ISO-8859-1)
1. 编辑/etc/my.cnf,在[mysqld]选项下添加字符集的设置
vim /etc/my.cnf
[mysqld]
character-set-server=utf8
2. 重新启动mysql的服务
systemctl restart mysqld
Redis安装
1. 解压文件
tar -zxvf /root/redis-3.0.7.tar.gz -C /root
2. 编译
cd /root/redis-3.0.7
make
3. 安装
make PREFIX=/usr/local/redis install
4. 复制配置文件到/usr/local/redis/bin
cp /root/redis-3.0.7/redis.conf /usr/local/redis/bin/
5. 设置后台启动
vim /usr/local/redis/bin/redis.conf
daemonize yes
6. 启动redis
/usr/local/redis/bin/redis-server /usr/local/redis/bin/redis.conf
7. 防火墙放行端口
firewall-cmd --zone=public --add-port=6379/tcp --permanent
firewall-cmd --reload
8. 关闭redis
/usr/local/redis/bin/redis-cli shutdown
项目部署
环境确认
* 语法
netstat -antup
netstat -antup | grep 端口号
* 参数解释
-antup 查看当前正在使用的udp和tcp协议的端口号和进程号
数据库的迁移
将Windows的数据库进行备份,还原到Linux的数据库中即可
Tomcat部署项目
- 打开idea,对maven进行package打包
- 进入target目录,对war包改名
- 使用FTP上传到linux服务器
- 部署到tomcat中的webapps目录
- 浏览器访问测试
nginx配置反向代理
需要在修改 nginx.cnf 配置文件
# 指定你要代理的tomcat服务器列表
upstream tomcat_server {
server localhost:8080;
}
server {
listen 80;
server_name localhost;
location / {
root html;
# 现在我们nginx不在是访问html路径,改成反向代理
proxy_pass http://tomcat_server;
index index.html index.htm;
}
}
nginx配置负载均衡
1. 将当前tomcat1停止运行
/usr/local/tomcat1/bin/shutdown.sh
2. 复制tomcat1为tomcat2
cp -r /usr/local/tomcat1 /usr/local/tomcat2
3. 修改tomcat2的3个端口
vim /usr/local/tomcat2/conf/server.xml
8005-->8015 8009-->8019 8080-->8081
4. 放行8081端口
firewall-cmd --zone=public --add-port=8081/tcp --permanent
firewall-cmd --reload
5. 启动两个tomcat
/usr/local/tomcat1/bin/startup.sh
/usr/local/tomcat2/bin/startup.sh
6. 在nginx中配置负载均衡策略
vim /usr/local/nginx/conf/nginx.conf
upstream tomcat_server{
ip_hash;
server localhost:8080 weight=2;
server localhost:8081 weight=1;
}
7. 重新加载nginx配置
/usr/local/nginx/sbin/nginx -s reload
8. 同时开启两个窗口,通过动态查看tomcat日志可见结果
tail -f /usr/local/tomcat1/logs/catalina.out
tail -f /usr/local/tomcat2/logs/catalina.out