当前位置:网站首页>So easy 将程序部署到服务器
So easy 将程序部署到服务器
2022-07-01 02:57:00 【靈熙雲】
文章目录
导入镜像
打开VMWare,点击“打开虚拟机”,本文选择centos7.ova镜像存储路径

点击导入

选择“不再显示此消息”,点击“重试”按钮

点击“编辑虚拟机设置”,修改处理器、内存、硬盘等信息后,启动。按Ctrl+Alt键可以切换到windows下。启动成功后,输入账号root密码123456(帐号密码以镜像系统的设置为准),登录。
配置IP地址
先在VMWare里设置好网络连接方式为桥接模式

有关于centos7获取IP地址的方法主要有两种,
- 动态获取ip
- 设置静态ip
动态获取ip
前提是你的路由器已经开启了DHCP,修改网卡配置文件
vi /etc/sysconfig/network-scripts/ifcfg-enp0s3
# ifcfg-enp0s3 为网卡名称

动态获取IP地址需要修改两处地方即可
BOOTPROTO="dhcp"
ONBOOT="yes"

修改后重启一下网络服务即可 systemctl restart network
[[email protected] ~]# systemctl restart network
[[email protected] ~]#
这样动态配置IP地址就设置好了,这个时候再查看一下ip addr 就可以看到已经获取了IP地址(记录下可设置固定ip),且可以上网ping www.baidu.com
设置固定ip
还是修改网卡配置文件
vi /etc/sysconfig/network-scripts/ifcfg-enp0s3
将BOOTPROTO="dhcp"改成 BOOTPROTO=“static”
BOOTPROTO="static"
再添加IP信息
IPADDR="192.168.0.121" #设置的固定IP
NETMASK="255.255.255.0" #子网掩码,不需要修改
GATEWAY="192.168.0.1" #VMware网关IP地址
DNS1="114.114.114.114" #这个是国内的DNS地址,固定的
疑难问题
问题一:systemctl restart network报错
Job for network.service failed. See ‘systemctl status network.service’ and ‘journalctl -xn’ for details.
问题二:ping不通百度
解决办法
- 排除ip冲突
用主机ping这个ip看是否已存在。
- 删除多余的网卡配置文件
删除ifcfg-e开头的多余的网卡配置文件
rm -f /etc/sysconfig/network-scripts/ifcfg-eXXX
- HWADDR错误 ,查到正确的HWADDR
输入ip addr,查找到HWADDR

进入 cd /etc/sysconfig/network-scripts 目录编辑对应的 vi ifcfg-ensXX,将HWADDR设置正确,重启 service network restart或者删除HWADDR。
将
ifc-ethXX中的DEVICE那一行注释掉或者删掉将
ifcfg-xxx中的NAME改为和文件名一致删除网卡的UUID停止NetworkManager.service
停止网络管理服务
[[email protected] Desktop]# systemctl stop NetworkManager.service
[[email protected] Desktop]# systemctl disable NetworkManager.service
Removed 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服务
[[email protected] network-scripts]# service network restart
Restarting network (via systemctl): [ OK ]
- 删除设备规则配置文件
无论有无这文件,删就是了
rm -f /etc/udev/rules.d/70-persistent-net.rules
- 打开VMWare的虚拟机服务

看VMWare右下角的网络适配器是否连接,如果没有连接则连接上
重启大法
如果以上都没有解决,还有最后一招-- 重启 看一看有没有奇迹发生![email protected]$%^&*
- 无论如何还是不行
- 使用NAT模式
- 先改为动态获取ip地址
- 查看当前DNS
cat /etc/resolv.conf- 改为静态ip
- 更新完需要的软件后可再次改回桥接模式
安装JDK1.8
下载JDK
https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html

上传到centos

将本地jdk-8u281-linux-x64.tar.gz上传到/usr下,重命名为java1.8,如本地目录切换到d:/tmp1
sftp>lcd d:/tmp1
centos目录切换到/usr
sftp>cd /usr
查看本地目录
sftp> lpwd
d:/tmp
查看centos目录
sftp> pwd
/usr
上传
sftp> put jdk-8u281-linux-x64.tar.gz
重命名
sftp> mv jdk-8u281-linux-x64.tar.gz java1.8
解压JDK
键入命令 cd /usr 来到刚才的复制文件处,键入命令tar -zxvf java1.8 进行解压,解压出一个文件夹jdk1.8.0_281,进入该文件夹
配置环境变量
键入命令vi /etc/profile修改配置文件,记得要在root权限下修改,输入i进入编辑状态,然后将光标移到最后一行,粘贴如下内容,要根据自己的解压目录设置

点击esc进入命令模式,输入:wq保存修改信息;然后键入命令source /etc/profile 使配置文件生效。
测试
键入命令java -version查看。

安装MySQL5.7
安装wget
yum -y install wget
下载rpm包
sudo wget http://repo.mysql.com/yum/mysql-5.7-community/el/7/x86_64/mysql57-community-release-el7-10.noarch.rpm
sudo rpm -ivh mysql57-community-release-el7-10.noarch.rpm
安装mysql
sudo yum -y install mysql-community-server
启动mysql
sudo systemctl start mysqld
设置开机启动
sudo systemctl enable mysqld
查找初始密码
在/var/log/mysqld.log文件中找到初始密码
cat /var/log/mysqld.log

登陆mysql
sudo mysql -uroot -p
输入上述初始密码
修改密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '1qaz!QAZ';
密码强度默认规则为:长度最少8位,包含大小写字母、数字、特殊字符
设置远程登陆
- 执行授权命令
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '1qaz!QAZ' WITH GRANT OPTION;
exit退出mysql操作控制台
- 开放3306端口
开启防火墙
sudo systemctl start firewalld.service
永久开放3306端口
sudo firewall-cmd --add-port=3306/tcp --permanent
重新加载
sudo firewall-cmd --reload
关闭防火墙
sudo systemctl stop firewalld.service
设置默认编码
- 查看修改前mysql编码

- 修改
/etc/my.cnf文件,加入下面两行
character_set_server=utf8
init_connect='SET NAMES utf8'

- 修改后,重启mysql
sudo systemctl restart mysqld
- 查看修改后的mysql编码

测试
使用navicat连接mysql

数据文件位置:/var/lib/mysql配置文件位置:/etc/my.cnf日志文件位置:/var/log/mysqld.log
项目开机自启动
- 上传jar包
上传jar包到到/usr/local/project/,试运行
java -jar springboot.jar
- 新增service文件
在/etc/systemd/system/目录下面,新增一个以service为后缀的脚本文件
cd /etc/systemd/system
vi java.service
文件内容如下:
[Unit]
Description=java
After=syslog.target
[Service]
Type=simple
ExecStart=/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包文件
- 添加执行权限
chmod +x /etc/systemd/system/java.service
- 重新加载服务
systemctl daemon-reload
- 启动服务并加入开机自启动
systemctl start java
systemctl enable java
ps -ef | grep "java"| grep -v grep
systemctl status java.service -l
安装Tomcat8.5
- 下载tomcat8.5
https://tomcat.apache.org/download-80.cgi

- 上传并解压
上传到/usr/,并执行下列命令解压
tar -zxvf apache-tomcat-8.5.63.tar.gz
- tomcat增加启动参数
tomcat 根目录下需要增加一个pid文件tomcat.pid
touch tomcat.pid
在tomcat/bin 目录下面,增加setenv.sh配置,catalina.sh启动的时候会调用,同时配置Java内存参数
export CATALINA_HOME=/usr/apache-tomcat-8.5.63
export CATALINA_BASE=/usr/apache-tomcat-8.5.63
#add tomcat pid
CATALINA_PID="$CATALINA_BASE/tomcat.pid"
#add java opts
JAVA_OPTS="-server -XX:PermSize=256M -XX:MaxPermSize=1024m -Xms512M -Xmx1024M -XX:MaxNewSiz
- 新增service文件
在/etc/systemd/system/目录下面,新增一个以service为后缀的文件
vi /etc/systemd/system/tomcat.service
文件内容如下
[Unit]
Description=Tomcat
After=syslog.target network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
Environment="JAVA_HOME=/usr/jdk1.8.0_281"
PIDFile=/usr/apache-tomcat-8.5.63/tomcat.pid
ExecStart=/usr/apache-tomcat-8.5.63/bin/startup.sh
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target
- 添加执行权限
chmod +x /etc/systemd/system/tomcat.service
- 重新加载服务
systemctl daemon-reload
- 启动服务并加入开机自启动
直接启动
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
- 重启服务器
重启,试试能不能访问。
边栏推荐
猜你喜欢

lavaweb【初识后续问题的解决】
性能测试常见面试题

Huawei operator level router configuration example | BGP VPLS and LDP VPLS interworking example

js中的原型和原型链

产业互联网中,「小」程序有「大」作为

Contrastive learning of Class-agnostic Activation Map for Weakly Supervised Object Localization and

The operation efficiency of the park is improved, and the application platform management of applet container technology is accelerated

Xception learning notes
![[linear DP] longest common subsequence](/img/47/c3172422e997009facbada929adb1a.jpg)
[linear DP] longest common subsequence

Restcloud ETL data realizes incremental data synchronization through timestamp
随机推荐
PHP batch Excel to word
Restcloud ETL data realizes incremental data synchronization through timestamp
Codeforces Round #416 (Div. 2) C. Vladik and Memorable Trip
Huawei operator level router configuration example | BGP VPLS and LDP VPLS interworking example
鼠标悬停效果五
LeetCode_ Stack_ Difficulties_ 227. basic calculator (excluding multiplication and division)
[QT] add knowledge supplement of third-party database
Lavaweb [first understanding the solution of subsequent problems]
SSH configuration password free login error: /usr/bin/ssh copy ID: error: no identities found solution
Completely solve the lost connection to MySQL server at 'reading initial communication packet
Cloud native annual technology inventory is released! Ride the wind and waves at the right time
Optimal transport Series 1
MCU firmware packaging Script Software
kubernetes资源对象介绍及常用命令(二)
MnasNet学习笔记
Restcloud ETL WebService data synchronization to local
Huawei operator level router configuration example | configuration optionA mode cross domain LDP VPLS example
Mnasnet learning notes
Restcloud ETL practice data row column conversion
Nacos configuration center tutorial