百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术教程 > 正文

手把手教你将程序部署到服务器

csdh11 2025-02-27 14:47 22 浏览

一、导入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.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服务

[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> 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


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 environment
export JAVA_HOME=/usr/jdk1.8.0_281
export 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.rpm
sudo 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%';

修改/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/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包文件。

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.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:MaxNewSize=256m"

4、新增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


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、重启服务器

重启,试试能不能访问。

大家有不懂的地方,再去看下详细的视频教程,各种软件啥的都提供:

https://www.bilibili.com/video/BV1Jr4y1P7pf?p=2

相关推荐

探索Java项目中日志系统最佳实践:从入门到精通

探索Java项目中日志系统最佳实践:从入门到精通在现代软件开发中,日志系统如同一位默默无闻却至关重要的管家,它记录了程序运行中的各种事件,为我们排查问题、监控性能和优化系统提供了宝贵的依据。在Java...

用了这么多年的java日志框架,你真的弄懂了吗?

在项目开发过程中,有一个必不可少的环节就是记录日志,相信只要是个程序员都用过,可是咱们自问下,用了这么多年的日志框架,你确定自己真弄懂了日志框架的来龙去脉嘛?下面笔者就详细聊聊java中常用日志框架的...

物理老师教你学Java语言(中篇)(物理专业学编程)

第四章物质的基本结构——类与对象...

一文搞定!Spring Boot3 定时任务操作全攻略

各位互联网大厂的后端开发小伙伴们,在使用SpringBoot3开发项目时,你是否遇到过定时任务实现的难题呢?比如任务调度时间不准确,代码报错却找不到方向,是不是特别头疼?如今,随着互联网业务规模...

你还不懂java的日志系统吗 ?(java的日志类)

一、背景在java的开发中,使用最多也绕不过去的一个话题就是日志,在程序中除了业务代码外,使用最多的就是打印日志。经常听到的这样一句话就是“打个日志调试下”,没错在日常的开发、调试过程中打印日志是常干...

谈谈枚举的新用法--java(java枚举的作用与好处)

问题的由来前段时间改游戏buff功能,干了一件愚蠢的事情,那就是把枚举和运算集合在一起,然后运行一段时间后buff就出现各种问题,我当时懵逼了!事情是这样的,做过游戏的都知道,buff,需要分类型,且...

你还不懂java的日志系统吗(javaw 日志)

一、背景在java的开发中,使用最多也绕不过去的一个话题就是日志,在程序中除了业务代码外,使用最多的就是打印日志。经常听到的这样一句话就是“打个日志调试下”,没错在日常的开发、调试过程中打印日志是常干...

Java 8之后的那些新特性(三):Java System Logger

去年12月份log4j日志框架的一个漏洞,给Java整个行业造成了非常大的影响。这个事情也顺带把log4j这个日志框架推到了争议的最前线。在Java领域,log4j可能相对比较流行。而在log4j之外...

Java开发中的日志管理:让程序“开口说话”

Java开发中的日志管理:让程序“开口说话”日志是程序员的朋友,也是程序的“嘴巴”。它能让程序在运行过程中“开口说话”,告诉我们它的状态、行为以及遇到的问题。在Java开发中,良好的日志管理不仅能帮助...

吊打面试官(十二)--Java语言中ArrayList类一文全掌握

导读...

OS X 效率启动器 Alfred 详解与使用技巧

问:为什么要在Mac上使用效率启动器类应用?答:在非特殊专业用户的环境下,(每天)用户一般可以在系统中进行上百次操作,可以是点击,也可以是拖拽,但这些只是过程,而我们的真正目的是想获得结果,也就是...

Java中 高级的异常处理(java中异常处理的两种方式)

介绍异常处理是软件开发的一个关键方面,尤其是在Java中,这种语言以其稳健性和平台独立性而闻名。正确的异常处理不仅可以防止应用程序崩溃,还有助于调试并向用户提供有意义的反馈。...

【性能调优】全方位教你定位慢SQL,方法介绍下!

1.使用数据库自带工具...

全面了解mysql锁机制(InnoDB)与问题排查

MySQL/InnoDB的加锁,一直是一个常见的话题。例如,数据库如果有高并发请求,如何保证数据完整性?产生死锁问题如何排查并解决?下面是不同锁等级的区别表级锁:开销小,加锁快;不会出现死锁;锁定粒度...

看懂这篇文章,你就懂了数据库死锁产生的场景和解决方法

一、什么是死锁加锁(Locking)是数据库在并发访问时保证数据一致性和完整性的主要机制。任何事务都需要获得相应对象上的锁才能访问数据,读取数据的事务通常只需要获得读锁(共享锁),修改数据的事务需要获...