虚拟机部署项目
参考网址;
https://mp.weixin.qq.com/s/Dg2ULL33iIohQLlwjfoAZw
https://mp.weixin.qq.com/s/Z1KnoMoGhjmFkdgcva_plw
前置说明
本文整理虚拟机安装以及部署项目 , 我是参考了两篇好的文章 , 比较好用
参考文章使用的是 vmvare 创建 linux 虚拟机 , 我刚开始学习 linux 的时候也是使用的 vemvare
但是我感觉 vmvare 比较重 , 比较麻烦
现在使用 虚拟环境 , 用的是 vagrant + VirtualBox , 这个是开箱即用 , 很简单的创建虚拟机
vmvare 安装 centos7
CentOS7 详细安装教程 – 图文介绍超详细
-
一、安装前的准备 -
二、下载镜像文件 -
三、开始安装 -
- 第 1 步:文件 → 新建虚拟机 或 直接点击 创建新的虚拟机 图标
- 第 2 步:选择 典型(推荐)→ 下一步
- 第 3 步:稍后安装操作系统
- 第 4 步:选择操作系统和版本
- 第 5 步:输入虚拟机名称和安装路径
- 第 6 步:设置磁盘大小,本文选择默认配置 20G
- 第 7 步:自定义硬件
- 第 8 步:选择 CentOS 安装镜像文件
- 第 9 步:点击完成
-
四、进行初始化配置 -
- 第 1 步:启动虚拟机
- 第 2 步:选择第一项,Install CentOS 7,等待一会儿
- 第 3 步:选择语言,这里选择的是中文简体
- 第 4 步:进行安装信息的配置,选择安装位置
- 第 5 步:进行设置目标位置,配置分区
- 第 6 步:选择自动创建它们,然后进行分区设置,这里选择默认配置,也可以安装自己的需求自定义设置。
- 第 7 步: 设置好之后完成,保存接收更改
- 第 8 步: 选择网络和主机名
- 第 9 步:安装位置与网络都已配置好,开始安装
- 第 10 步:系统安装的同时,设置 root 账户的密码,密码很重要,要记住!!
- 第 11 步:等待一会儿,安装完成,重启设备
- 第 12 步:选择第一项,输入账户名密码登录,账户名 root,密码是上一步自定义的
VMware
VMware 是一款[虚拟机]软件就是通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。
与物理机一样,虚拟机是运行操作系统和应用程序的软件计算机。虚拟机包含一组规范和配置文件,并由主机的物理资源提供支持。每个虚拟机都具有一些虚拟设备,这些设备可提供与物理硬件相同的功能,但是可移植性更强、更安全且更易于管理。
官网:https://www.vmware.com/cn/products/workstation-pro/workstation-pro-evaluation.html
CentOS
CentOS 是免费的、开源的、可以重新分发的开源操作系统。全名为 “社区企业操作系统(Community Enterprise Operating System)”,提供长期免费升级和更新服务,自由使用。国内最大的服务器操作系统,现在基本所有的互联网公司后台服务器都采用 CentOS
官网:https://www.centos.org/download/
安装步骤
一、安装前的准备
1.VMware 的安装本文不再介绍,正常安装即可
- 下载 CentOS 7 的镜像文件
二、下载镜像文件
三、开始安装
第 1 步:文件 → 新建虚拟机 或 直接点击 创建新的虚拟机 图标
第 2 步:选择 典型(推荐)→ 下一步
第 3 步:稍后安装操作系统
第 4 步:选择操作系统和版本
第 5 步:输入虚拟机名称和安装路径
第 6 步:设置磁盘大小,本文选择默认配置 20G
第 7 步:自定义硬件
第 8 步:选择 CentOS 安装镜像文件
第 9 步:点击完成
四、进行初始化配置
第 1 步:启动虚拟机
第 2 步:选择第一项,Install CentOS 7,等待一会儿
第 3 步:选择语言,这里选择的是中文简体
第 4 步:进行安装信息的配置,选择安装位置
第 5 步:进行设置目标位置,配置分区
第 6 步:选择自动创建它们,然后进行分区设置,这里选择默认配置,也可以安装自己的需求自定义设置。
第 7 步: 设置好之后完成,保存接收更改
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-h3vLqe5H-1652011789774)(data:image/gif;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVQImWNgYGBgAAAABQABh6FO1AAAAABJRU5ErkJggg==)]
第 8 步: 选择网络和主机名
第 9 步:安装位置与网络都已配置好,开始安装
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nN8kRAhz-1652011789774)(data:image/gif;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVQImWNgYGBgAAAABQABh6FO1AAAAABJRU5ErkJggg==)]
第 10 步:系统安装的同时,设置 root 账户的密码,密码很重要,要记住!!
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Zb0PuI5Y-1652011789775)(data:image/gif;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJAAAADUlEQVQImWNgYGBgAAAABQABh6FO1AAAAABJRU5ErkJggg==)]
第 11 步:等待一会儿,安装完成,重启设备
第 12 步:选择第一项,输入账户名密码登录,账户名 root,密码是上一步自定义的
输入命令 ip addr 查看自己的虚拟机的 ip
程序部署到服务器
一、导入centos7虚拟机:
打开VMWare,点击“打开虚拟机”,选择centos7.ova之后,选择存储路径:
点击导入:
选择“不再显示此消息”,点击“重试”按钮:
点击“编辑虚拟机设置”,修改处理器、内存、硬盘等信息后,启动。
按Ctrl+Alt键可以切换到windows下。
启动成功后,输入账号root密码123456登录。
二、配置IP地址:
先在VMWare里设置好网络连接方式为桥接模式:
有关于centos7获取IP地址的方法主要有两种,1:动态获取ip;2:设置静态IP地址。
1、动态获取ip(前提是你的路由器已经开启了DHCP)
修改网卡配置文件 vi /etc/sysconfig/network-scripts/ifcfg-enp0s3 (最后一个为网卡名称)
动态获取IP地址需要修改两处地方即可
(1)bootproto=“dhcp”
(2)onboot=“yes”
修改后重启一下网络服务即可 systemctl restart network
[root@mini ~]# systemctl restart network[root@mini ~]#
这样动态配置IP地址就设置好了,这个时候再查看一下ip addr 就可以看到已经获取了IP地址,且可以上网(ping 百度)
2、设置固定ip
BOOTPROTO=“static”
IPADDR=“192.168.0.121” #你想要设置的固定IP,理论上192.168.1.4-192.168.1.253之间都可以,请自行验证;
NETMASK=“255.255.255.0” #子网掩码,不需要修改;
GATEWAY=“192.168.0.1” #网关,这里是VMware网关IP地址,前面要你记录下的那个IP。
DNS1=“114.114.114.114” #这个是国内的DNS地址,是固定的;
三、各种坑:
1、systemctl restart network报错
Job for network.service failed. See ‘systemctl status network.service’ and ‘journalctl -xn’ for details.
2、ping不通百度
四、解决办法:
1、 排除ip冲突
** **
用主机ping这个ip看是否已存在。
2、删除多余的网卡配置文件
** **
删除ifcfg-e开头的多余的网卡配置文件
rm -f /etc/sysconfig/network-scripts/ifcfg-eXXX
3、HWADDR错误 ,查到正确的HWADDR
** **
输入 ip addr,查找到HWADDR
进入 cd /etc/sysconfig/network-scripts 目录编辑对应的 vim ifcfg-ensXX,将HWADDR设置正确,重启 service network restart
或者删除HWADDR。
00:0c:29:ad:24:51
4、将ifc-ethXX中的DEVICE 那一行注释掉,或者删掉
** **
5、将ifcfg-xxx中的NAME改为和文件名一致
** **
5、删除网卡的UUID
** **
6、停止NetworkManager.service
** **
停止网络管理服务
[root@localhost Desktop]# systemctl stop NetworkManager.service[root@localhost Desktop]# systemctl disable NetworkManager.serviceRemoved symlink /etc/systemd/system/multi-user.target.wants/NetworkManager.service.Removed symlink /etc/systemd/system/dbus-org.freedesktop.NetworkManager.service.Removed symlink /etc/systemd/system/dbus-org.freedesktop.nm-dispatcher.service.
重启network服务
[root@localhost network-scripts]# service network restart
Restarting network (via systemctl): [ OK ]
7、删除设备规则配置文件
** **
无论有无这文件,删就是了
rm -f /etc/udev/rules.d/70-persistent-net.rules
8、打开VMWare的虚拟机服务
9、看VMWare右下角的网络适配器是否连接,如果没有连接则连接上
** **
10、重启大法
** **
如果以上都没有解决,还有最后一招-- 重启 看一看有没有奇迹发生!
五、无论如何还是不行:
1、使用NAT模式
** **
2、先改为动态获取ip地址
** **
3、查看当前DNS
** **
cat /etc/resolv.conf
4、改为静态ip
** **
5、更新完需要的软件后可再次改回桥接模式
六、CentOS7下安装JDK1.8:
1、检查是否已经安装了jdk
** **
键入命令 java -version 查看。
2、下载JDK
** **
下载地址https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html
往下拉
3、上传到centos
** **
将本地d:/tmp/jdk-8u281-linux-x64.tar.gz上传到/usr下,重命名为java1.8:
本地目录切换到d:/tmp1
sftp>lcd d:/tmp1
centos目录切换到/usr
sftp>cd /usr
查看本地目录
sftp> lpwdd:/tmp
查看centos目录
sftp> pwd/usr
上传
sftp> put jdk-8u281-linux-x64.tar.gz
重命名
sftp> mv jdk-8u281-linux-x64.tar.gz java1.8
4、解压安装JDK
** **
键入命令 cd /usr 来到刚才的复制文件处,键入命令tar -zxvf java1.8 进行解压,解压出一个文件夹jdk1.8.0_281,进入该文件夹
5、配置JDK环境变量
键入命令 vi /etc/profile 修改配置文件,记得要在root权限下修改
输入i进入编辑状态,然后将光标移到最后一行,粘贴如下内容,JAVA_HOME=/usr/jdk1.8.0_281 要根据自己的解压目录设置
#java environmentexport JAVA_HOME=/usr/jdk1.8.0_281export CLASSPATH=.:J A V A H O M E / j r e / l i b / r t . j a r : {JAVA_HOME}/jre/lib/rt.jar:JAVA
HOME/jre/lib/rt.jar:{JAVA_HOME}/lib/dt.jar:J A V A H O M E / l i b / t o o l s . j a r e x p o r t P A T H = {JAVA_HOME}/lib/tools.jar export PATH=JAVA
HOME/lib/tools.jarexportPATH=PATH:${JAVA_HOME}/bin
效果如下:
点击esc 进入命令模式 输入:wq 保存修改信息
然后键入命令source /etc/profile 使配置文件生效。
6、测试是否安装成功
** **
键入命令 java -version 查看。
七、centos7下安装mysql5.7:
1、安装wget
** **
yum -y install wget
2、下载rpm包
** **
sudo wget http://repo.mysql.com/yum/mysql-5.7-community/el/7/x86_64/mysql57-community-release-el7-10.noarch.rpmsudo rpm -ivh mysql57-community-release-el7-10.noarch.rpm
3、yum 安装mysql-community-server
** **
sudo yum -y install mysql-community-server
这一步比较耗时
4、启动mysql
** **
sudo systemctl start mysqld
5、设置开机启动
** **
sudo systemctl enable mysqld
6、查找初始密码
** **
在/var/log/mysqld.log文件中找到初始密码
cat /var/log/mysqld.log
此处初始密码为:waf_eHWkr42K
7、登陆mysql
** **
sudo mysql -uroot -p
输入初始密码:waf_eHWkr42K
8、修改密码
** **
ALTER USER 'root'@'localhost' IDENTIFIED BY '1qaz!QAZ';
密码强度默认规则为(长度最少8位,包含大小写字母、数字、特殊字符)
9、设置允许远程登陆
** **
1.执行授权命令
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '1qaz!QAZ' WITH GRANT OPTION;
2.退出mysql操作控制台
exit
3.开放3306端口
开启防火墙
sudo systemctl start firewalld.service
永久开放3306端口
sudo firewall-cmd --add-port=3306/tcp --permanent
重新加载
sudo firewall-cmd --reload
关闭防火墙
sudo systemctl stop firewalld.service
10、设置默认编码为utf8
** **
查看修改前mysql编码
show variables like ‘%chara%’;
1
修改/etc/my.cnf文件,加入下面两行
sudo vi /etc/my.cnf
character_set_server=utf8
init_connect=‘SET NAMES utf8’
修改后,重启mysql
sudo systemctl restart mysqld
查看修改后的mysql编码
11、测试
** **
使用navicat连接mysql
数据文件位置:/var/lib/mysql
配置文件位置:/etc/my.cnf
日志文件位置:/var/log/mysqld.log
八、centos7实现springboot项目开机自启动:
1、导入数据库
** **
导入mysql数据库。
2、上传打包好的jar包文件
** **
上传jar包到到/usr/local/project/ 。
试运行java -jar springboot.jar
3、新增service文件
** **
在 /etc/systemd/system/ 目录下面编辑一个以service为后缀的文件:
cd /etc/systemd/systemvi java.service
文件内容如下:
[Unit]Description=javaAfter=syslog.target[Service]Type=simpleExecStart=/usr/jdk1.8.0_281/bin/java -jar /usr/local/project/springboot.jar[Install]WantedBy=multi-user.target
其中:/usr/jdk1.8.0_281为jdk安装路径,/usr/local/project/springboot.jar 为打包好的jar包文件。
4、添加执行权限
chmod +x /etc/systemd/system/java.service
5、重新加载服务
systemctl daemon-reload
6、启动服务并加入开机自启动
systemctl start java
systemctl enable java
ps -ef | grep “java”| grep -v grep
systemctl status java.service -l
九、centos7下安装Tomcat8.5:
1、下载tomcat8.5
https://tomcat.apache.org/download-80.cgi
2、上传打包好的jar包文件并解压
** **
上传到/usr/。
tar -zxvf apache-tomcat-8.5.63.tar.gz
3、tomcat增加启动参数
** **
tomcat 根目录下需要增加一个pid文件tomcat.pid。
touch tomcat.pid
在tomcat/bin 目录下面,增加 setenv.sh 配置,catalina.sh启动的时候会调用,同时配置Java内存参数。
export CATALINA_HOME=/usr/apache-tomcat-8.5.63export CATALINA_BASE=/usr/apache-tomcat-8.5.63#add tomcat pidCATALINA_PID="$CATALINA_BASE/tomcat.pid"#add java optsJAVA_OPTS="-server -XX:PermSize=256M -XX:MaxPermSize=1024m -Xms512M -Xmx1024M -XX:MaxNewSize=256m"
4、新增service文件
** **
在 /etc/systemd/system/ 目录下面编辑一个以service为后缀的文件:
vi /etc/systemd/system/tomcat.service
文件内容如下:
[Unit]Description=TomcatAfter=syslog.target network.target remote-fs.target nss-lookup.target [Service]Type=forkingEnvironment="JAVA_HOME=/usr/jdk1.8.0_281"PIDFile=/usr/apache-tomcat-8.5.63/tomcat.pidExecStart=/usr/apache-tomcat-8.5.63/bin/startup.shExecReload=/bin/kill -s HUP $MAINPIDExecStop=/bin/kill -s QUIT $MAINPIDPrivateTmp=true [Install]WantedBy=multi-user.target
5、添加执行权限
** **
chmod +x /etc/systemd/system/tomcat.service
6、重新加载服务
** **
systemctl daemon-reload
7、启动服务并加入开机自启动
** **
直接启动
systemctl start tomcat
加入开机启动
systemctl enable tomcat
查看启动状态
systemctl status tomcat.service
停止服务
systemctl stop tomcat
查询tomcat 进程
ps -ef | grep “tomcat”| grep -v grep
如果多个tomcat,则拷贝到不同的目录,使用不同的端口。tomcat.service文件名不同即可。
例如:tomcat1.service tomcat2.service tomcat3.service
8、重启服务器
** **
ermSize=256M -XX:MaxPermSize=1024m -Xms512M -Xmx1024M -XX:MaxNewSize=256m"
**4、新增service文件**
**
**
在 /etc/systemd/system/ 目录下面编辑一个以service为后缀的文件:
vi /etc/systemd/system/tomcat.service
文件内容如下:
-
-
-
-
-
-
-
-
-
-
-
-
-
[Unit]Description=TomcatAfter=syslog.target network.target remote-fs.target nss-lookup.target [Service]Type=forkingEnvironment="JAVA_HOME=/usr/jdk1.8.0_281"PIDFile=/usr/apache-tomcat-8.5.63/tomcat.pidExecStart=/usr/apache-tomcat-8.5.63/bin/startup.shExecReload=/bin/kill -s HUP $MAINPIDExecStop=/bin/kill -s QUIT $MAINPIDPrivateTmp=true [Install]WantedBy=multi-user.target
**5、添加执行权限**
**
**
chmod +x /etc/systemd/system/tomcat.service
**6、重新加载服务**
**
**
systemctl daemon-reload
**7、启动服务并加入开机自启动**
**
**
直接启动
systemctl start tomcat
加入开机启动
systemctl enable tomcat
查看启动状态
systemctl status tomcat.service
停止服务
systemctl stop tomcat
查询tomcat 进程
ps -ef | grep “tomcat”| grep -v grep
如果多个tomcat,则拷贝到不同的目录,使用不同的端口。tomcat.service文件名不同即可。
例如:tomcat1.service tomcat2.service tomcat3.service
**8、重启服务器**
**
**
重启,试试能不能访问。
|