Linux部署项目流程图
总结步骤:
0.准备工作,设置好IP地址,使用Linux远程连接工具MobaXterm_Personal(免费开源),方便操作,安装Linux版本的jdk;
1.安装mariadb数据库,直接连上网下载Linux官方提供的,安装完成后要设置密码;
2.远程连接数据库(Linux系统操作不方便),先在Linux里面开放权限,然后设置linux的防火墙开放访问端口;
3.部署tomcat服务器,修改好linux对应文件路径和端口号,部署几台就打包几个,每台tomcat的端口号不一样(负载均衡),打包放到指定目录运行
4.安装nginx反向代理,修改配置文件,建立代理的ip地址和域名的映射,因为没有买域名,为了测试所以修改本机的hosts文件,用switchHosts修改比较方便
0.虚拟机IP修改说明
0.1 修改虚拟机MAC地址
0.2 Window 配置IP地址
1).修改IP地址
2).设定IP租用时间
3).检查windowsIP地址
命令:ipconfig
0.3修改LinuxIP地址
4).检查LinuxIP
命令 ip addr
如果没有IP展现则执行如下的命令
service NetworkManager stop
chkconfig NetworkManager off 永久关闭 Manager网卡
service network restart 重启network网卡
找到IP地址的目录 命令:cd /etc/sysconfig/network-scripts/
修改IP地址. 命令:vim ifcfg-ens33
重启网卡 检查IP地址是否正确
5).检查通信是否畅通
0.4通过工具远程链接
0.安装JDK
0.1上传安装包
用MobaXterm_Personal连接虚拟机
放在/usr/loca/src目录
0.2解压安装包
在当前目录解压jdk
tar -xvf jdk####
按tab键补齐
将压缩包放入sotfware统一管理
mkdir sotfware #新建目录
mv jdk## sotfwave/ #移动压缩包
mv jdk## jdk1.8 #修改jdk名称
java -version #检查jdk
0.3修改环境变量
1).编辑环境变量文件
vim/etc/profile
2).让环境变量生效
source /etc/profile
1.安装Mysql数据库
1.1 测试虚拟机是否可以正确的连接外网
ping www.baidu.com
安装mariadb,安装前最好给虚拟机拍照,因为数据库忘记密码只能重装,重装比较麻烦
yum install mariadb-server
如果安装失败之后清空安装文件
yum clean all
1.2 确认下载
提示完成
1.3 启动数据库
命令:
1.启动命令 systemctl start mariadb
2.重启命令 systemctl restart mariadb
3.关闭密令 systemctl stop mariadb
4.设定开机启动 systemtlc enable mariadb
5.关闭开机启动 systemtlc disable mariadb
1.4 初始化数据库
命令:
mysql_secure_installation
一路选y,直到设置密码
1.5 测试数据库用户名和密码是否有效
命令同windous:
mysql -uroot -p###
输入密码###
1.6 导入数据表
source /x/xx/xx.sql;
一般用远程访问软件导入
2 Mysql数据库远程访问配置
2.1 如果需要远程链接数据库必须通过防火墙
方式1:关闭防火墙
命令
检查防火墙状态 firewall-cmd --state
关闭防火墙 systemctl stop firewalld.service
关闭开机启动 systemctl disable firewalld.service
方式2:手动开放端口
检查防火墙开放的端口 firewall-cmd --list-ports
检查端口是否开放 firewall-cmd --query-port 80/tcp
开放端口 firewall-cmd --zone=public --add-port=80/tcp --permanent
移除端口 firewall-cmd --zone=public --remove-port=9090/tcp --permanent
关于防火墙操作的解释
–zone #作用域
–add-port=80/tcp #添加端口,格式为:端口/通讯协议
–remove-port=80/tcp #移除端口,格式为:端口/通讯协议
–permanent #永久生效,没有此参数重启后失效
2.2 如果远程链接数据库,数据库中必须开启远程访问权限才行,否则拒绝链接
配置数据库权限配置说明
登陆数据库,写sql语句 show databases;
切换mysql数据库 use mysql;
检查数据表user show tables;
查询user表中 host,user,password
select host,uesr,password from user;
将host=“localhost” 改为 “%”
update user set host="%" where host=“localhost”;
刷新数据库权限
flush privileges;
远程连接
3.部署项目
3.1 配置图片地址
说明:由于Linux系统和Windows系统文件 目录结构不同,所以必须修改配置
1).准备图片目录结构
cd /usr/local/src/
mkdir image
2).编辑配置文件
3.2 项目打包及部署
1).项目打包
2).新建tomcat目录 上传jar包文件
3.3 启动项目
命令: java -jar 8081.war
3.4 后台运行项目
问题描述: 通过java -jar 命令 是前端运行,如果执行了命令,则该终端将会被占用. 不便于后续操作.
如果关闭了终端,则服务也会关闭.
开启后端运行: nohup java -jar xxxx.war/jar -> xxxx.log &
3.5 关闭tomcat服务器
命令1: ps -ef | grep java* 任意服务的进程项
命令2: jps 只检索java项目进程
kill PID号 普通杀死进程
kill -15 PID号 友好杀死 可以执行善后操作
kill -9 PID号 强制杀死
4.安装Nginx
4.1 官网下载安装包
4.2 上传安装包
解压命令 tar -xvf nginx###
将安装包移入sotfware mv nginx### software/
修改文件名 mv nginx### nginx-source
4.3 安装nginx服务器
在nginx-source的根目录中执行如下命令
./config
在nginx-source的根目录中 执行 make
根目录中执行 make install
4.4 Nginx工作目录说明
说明: 查找工作目录
路径: whereis nginx
跳转到Nginx工作目录 cd /urs/local/nginx
4.4.1 nginx命令
进入nginx/sbin目录中执行
1.启动命令 ./nginx
2.重启命令 ./nginx -s reload
3.关闭命令 ./nginx -s stop
4.4.2 修改nginx配置文件
cd /usr/local/nginx/conf
需求说明:
1.实现图片反向代理
2.实现tomcat负载均衡实现
具体实现:
修改完成之后,重启nginx服务器.
#配置图片代理服务器 http://image.jt.com:80
server {
listen 80;
server_name image.jt.com;
location / {
#root D:/JT-SOFT/images;
root /usr/local/src/images;
}
}
#配置商品后台服务器
server{
listen 80;
server_name manage.jt.com;
location / {
#代理真实服务器地址
#proxy_pass http://localhost:8091;
#映射到集群
#proxy_pass http://jtWindows;
proxy_pass http://jtLinux;
}
}
#配置tomcat服务器集群 1.默认 轮询策略 2.权重策略 3.ip_hash策略
upstream jtWindows {
#ip_hash; down 标识宕机 backup 备用机
#max_fails=1 表示最大的失败次数
#fail_timeout=60s 如果访问不通,则在60秒内,不会再次访问故障机
server 127.0.0.1:8081 max_fails=1 fail_timeout=60s;
server 127.0.0.1:8082 max_fails=1 fail_timeout=60s;
server 127.0.0.1:8083 max_fails=1 fail_timeout=60s;
}
upstream jtLinux {
server 192.168.126.129:8081;
server 192.168.126.129:8082;
server 192.168.126.129:8083;
}
4.4.1 修改hosts文件
说明:由于没有购买image/manage.jt.com的域名,所以需要通过hosts文件修改转向.
修改windows中的hosts文件: