本文默认读者有一定linux基础。如果不会,就看得很费劲。
准备工作:
1.一个springboot jar包
2.上传jar包到腾讯云服务器的工具,如WinSCP(没有请自己下载安装)
3.登录腾讯云服务器终端的工具如xshell(没有请自己下载安装。可选,腾讯云服务器有提供web终端,可以在web终端输入命令进行操作)
主要步骤:
1.腾讯云服务器安装jdk
2.准备springboot jar包
2.上传jar包到腾讯云服务器
3.启动jar包
4.打开防火墙和HTTP服务
5.设置腾讯云服务器安全组
1.腾讯云服务器安装jdk
Java应用的运行需要一个环境。腾讯云服务器上的是不会安装jdk的。我们要自己安装。
打开腾讯云服务器的web终端,或者打开xshell进行登录到腾讯云服务器,这里使用xshell.
1.1 web终端登录
在如下位置打开。
1.2xshell登录
打开xshell会自己弹出一个会话框。如果没有,点击 文件----新建
主机填腾讯云服务器的公网地址。
公网地址怎么找,在下边我圈出来了。
然后点击 用户身份验证,输入登录到腾讯云服务器的账户密码,账户默认是 root.
原来设置的密码太难记,自己设置一个。点击下图箭头所指就可以设置密码。
输入完后,点击连接按钮。
这里贴一下安装jdk的几种方法(来自linux公社的文章),我使用的是方法二,安装的是jdk1.8。
方法一:手动解压JDK的压缩包,然后设置环境变量
1.在/usr/目录下创建java目录
[root@localhost ~]# mkdir/usr/java
[root@localhost ~]# cd /usr/java
2.下载jdk,然后解压
[root@localhost java]# curl -O http://download.Oracle.com/otn-pub/java/jdk/7u79-b15/jdk-7u79-linux-x64.tar.gz
[root@localhost java]# tar -zxvf jdk-7u79-linux-x64.tar.gz
3.设置环境变量
[root@localhost java]# vi /etc/profile
在profile中添加如下内容:
#set java environment
JAVA_HOME=/usr/java/jdk1.7.0_79
JRE_HOME=/usr/java/jdk1.7.0_79/jre
CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export JAVA_HOME JRE_HOME CLASS_PATH PATH
让修改生效:
[root@localhost java]# source /etc/profile
4.验证JDK有效性
[root@localhost java]# java -version
java version "1.7.0_79"
Java(TM) SE Runtime Environment (build 1.7.0_79-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.79-b02, mixed mode)
方法二:用yum安装JDK
1.查看yum库中都有哪些jdk版本(暂时只发现了openjdk)
[root@localhost ~]# yum search java|grep jdk
ldapjdk-javadoc.x86_64 : Javadoc for ldapjdk
java-1.6.0-openjdk.x86_64 : OpenJDK Runtime Environment
java-1.6.0-openjdk-demo.x86_64 : OpenJDK Demos
java-1.6.0-openjdk-devel.x86_64 : OpenJDK Development Environment
java-1.6.0-openjdk-javadoc.x86_64 : OpenJDK API Documentation
java-1.6.0-openjdk-src.x86_64 : OpenJDK Source Bundle
java-1.7.0-openjdk.x86_64 : OpenJDK Runtime Environment
java-1.7.0-openjdk-demo.x86_64 : OpenJDK Demos
java-1.7.0-openjdk-devel.x86_64 : OpenJDK Development Environment
java-1.7.0-openjdk-javadoc.noarch : OpenJDK API Documentation
java-1.7.0-openjdk-src.x86_64 : OpenJDK Source Bundle
java-1.8.0-openjdk.x86_64 : OpenJDK Runtime Environment
java-1.8.0-openjdk-demo.x86_64 : OpenJDK Demos
java-1.8.0-openjdk-devel.x86_64 : OpenJDK Development Environment
java-1.8.0-openjdk-headless.x86_64 : OpenJDK Runtime Environment
java-1.8.0-openjdk-javadoc.noarch : OpenJDK API Documentation
java-1.8.0-openjdk-src.x86_64 : OpenJDK Source Bundle
ldapjdk.x86_64 : The Mozilla LDAP Java SDK
2.选择版本,进行安装
//选择1.7版本进行安装
[root@localhost ~]# yum install java-1.7.0-openjdk
//安装完之后,默认的安装目录是在: /usr/lib/jvm/java-1.7.0-openjdk-1.7.0.75.x86_64
3.设置环境变量
[root@localhost ~]# vi /etc/profile
在profile文件中添加如下内容
#set java environment
JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.75.x86_64
JRE_HOME=$JAVA_HOME/jre
CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export JAVA_HOME JRE_HOME CLASS_PATH PATH
让修改生效
[root@localhost java]# source /etc/profile
4.验证(同方法一)
方法三:用rpm安装JDK
1.下载rpm安装文件
[root@localhost ~]$ curl -O http://download.oracle.com/otn-pub/java/jdk/7u79-b15/jdk-7u79-linux-x64.rpm
2.使用rpm命令安装
[root@localhost ~]# rpm -ivh jdk-7u79-linux-x64.rpm
3.设置环境变量
[root@localhost java]# vi /etc/profile
在打开的profile文件中添加如下内容
#set java environment
JAVA_HOME=/usr/java/jdk1.7.0_79
JRE_HOME=/usr/java/jdk1.7.0_79/jre
CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export JAVA_HOME JRE_HOME CLASS_PATH PATH
让修改生效
[root@localhost java]# source /etc/profile
4.验证(同上一方法)
注:和yum安装类似,不用设置环境变量就可以运行java命令。rpm安装方式默认会把jdk安装到/usr/java/jdk1.7.0_79,然后通过三层链接,链接到/usr/bin,具体链接如下:
[root@localhost ~]# cd /bin
[root@localhost bin]# ll|grep java
lrwxrwxrwx. 1 root root 25 Mar 28 11:24 jar ->/usr/java/default/bin/jar
lrwxrwxrwx. 1 root root 26 Mar 28 11:24 java -> /usr/java/default/bin/java
lrwxrwxrwx. 1 root root 27 Mar 28 11:24 javac ->/usr/java/default/bin/javac
lrwxrwxrwx. 1 root root 29 Mar 28 11:24 javadoc ->/usr/java/default/bin/javadoc
lrwxrwxrwx. 1 root root 28 Mar 28 11:24 javaws ->/usr/java/default/bin/javaws
lrwxrwxrwx. 1 root root 30 Mar 28 11:24 jcontrol ->/usr/java/default/bin/jcontrol
[root@localhost bin]# cd /usr/java/
[root@localhost java]# ll
total 4
lrwxrwxrwx. 1 root root 16 Mar 28 11:24 default-> /usr/java/latest
drwxr-xr-x. 8 root root 4096 Mar 28 11:24 jdk1.7.0_79
lrwxrwxrwx. 1 root root 21 Mar 28 11:24 latest -> /usr/java/jdk1.7.0_79
2.准备springboot jar包
2.1 简单建一个springboot项目
这个过程略,不知道的可以网上搜索怎么新建一个简单的springboot项目。
我新建的一个demo,实现了一个请求,显示一个hello world.贴一下controller的代码
package com.example.demo.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* created by wyx on 2019/9/7
*/
@RestController
@RequestMapping("/hello")
public class TestController {
@RequestMapping("/w")
public String testHello() {
return "Hello world!";
}
}
application.properties配置文件
server.port=8082
server.servlet.context-path=/mydemo
打开浏览器效果如下:
2.2 打jar包
我在idea中新建的项目。点击箭头指向的位置。打开Maven projects视图
选中clean,然后运行(clean的作用是清除原来编译的class文件,也就是删除target文件夹)
然后在选择install,运行(这是生成jar包)
install成功的话,terget文件夹下会出现一个jar包
3.上传jar包到腾讯云服务器
3.1打开winSCP,新建会话,连接。
(1)文件协议默认SFTP就好
(2)主机名填写腾讯云服务器的公网地址
(3)用户名是root。
(4)输入密码
(5)端口默认22
填好,登录
成功登录后,界面如下。左边是你自己电脑的文件,右边是腾讯云服务器的文件。
在左边框找自己的jar包在的位置。并打开右边腾讯云服务器自己想上传的jar的位置。我这里是放在
usr下。怎么打开usr??? 看箭头指的,点它
然后看到一个usr文件夹
新建一个文件夹,用来放jar包。
所有设置默认就好
打开testdemo文件夹。然后直接把自己的jar包拖拽进去
3.启动jar包
(1)打开xshell,输入命令,进到jar包所在的位置,
cd /usr/testdemo
建启动停止文件
touch springboot.sh
(2)打开文件
vim springboot.sh
(3)按 i 进入编辑模式,将下面的代码粘贴到springboot.sh中。
#!/bin/bash
#这里可替换为你自己的执行程序,其他代码无需更改
APP_NAME=demo-0.0.1-SNAPSHOT.jar
#使用说明,用来提示输入参数
usage() {
echo "Usage: sh 执行脚本.sh [start|stop|restart|status]"
exit 1
}
#检查程序是否在运行
is_exist(){
pid=`ps -ef|grep $APP_NAME|grep -v grep|awk '{print $2}' `
#如果不存在返回1,存在返回0
if [ -z "${pid}" ]; then
return 1
else
return 0
fi
}
#启动方法
start(){
is_exist
if [ $? -eq "0" ]; then
echo "${APP_NAME} is already running. pid=${pid} ."
else
nohup java -jar $APP_NAME >> catalina.out 2>&1 &
fi
}
#停止方法
stop(){
is_exist
if [ $? -eq "0" ]; then
kill -9 $pid
else
echo "${APP_NAME} is not running"
fi
}
#输出运行状态
status(){
is_exist
if [ $? -eq "0" ]; then
echo "${APP_NAME} is running. Pid is ${pid}"
else
echo "${APP_NAME} is NOT running."
fi
}
#重启
restart(){
stop
start
}
#根据输入参数,选择执行对应方法,不输入则执行使用说明
case "$1" in
"start")
start
;;
"stop")
stop
;;
"status")
status
;;
"restart")
restart
;;
*)
usage
;;
esac
要退出编辑界面,先按ESC,然后输入 :wq (不要漏掉:)再回车就可以保存并退出了。
(4)把springboot.sh 设为可执行文件
chmod 770 springboot.sh
如果成功会变成绿色
(5) 运行springboot.sh
./springboot.sh
(6) 按命令提示输入命令
比如说start就是启动jar。
sh springboot.sh start
怎么验证运行成功:
sh springboot.sh status
同理,可验证当前 jar 包是否在运行
4.打开防火墙和HTTP服务
4.1打开防火墙,添加端口
首先检查有没有8082端口
firewall-cmd --query-port=8082/tcp
没有就添加端口
firewall-cmd --zone=public --add-port=8082/tcp
如果提示
FirewallD is not running
那就是防火墙没有开启,那么就开启
systemctl start firewalld
然后再执行firewall-cmd --zone=public --add-port=8082/tcp
其他相关命令
-关闭防火墙
systemctl stop firewalld
-重启firewall
firewall-cmd --reload
-查看指定区域所有开启的端口号
firewall-cmd --zone=public --list-ports
4.2、HTTP服务
先安装apache才能启动http服务
(1)安装apache
yum install httpd #根据提示,输入Y安装即可成功安装
systemctl start httpd.service #启动apache
systemctl stop httpd.service #停止apache
systemctl restart httpd.service #重启apache
systemctl enable httpd.service #设置apache开机启动
(2)、启动http服务
httpd -version #检查是否安装
yum install httpd #安装http服务
service httpd start #启动http服务
service httpd status #检查http服务状态(会显示绿色的active(running)表示启动成功)
service httpd restart #重启http服务
3、配置文件
httpd相关配置文件:
主配置文件:/etc/httpd/conf/httd.conf ,这个是httpd最主要的配置文档
扩展配置文件:/etc/httpd/conf.d/*.conf ,这个是httpd的额外配置文档
文档根目录: /var/www/html ,这个是apache 首页的文档目录 ,即输入http://127.0.0.1 显示页面所在的目录
服务脚本:/etc/rc.d/init.d/httpd
错误目录:/var/www/error ,服务器设定错误,请求的资源错误或浏览器访问出现错误等错误文件的存储目录
CGI目录: /var/www/cgi-bin/ ,预设为CGI运行脚本的存储目录
日志目录:/var/log/httpd ,client端登录httpd时,记录的登录日志等信息存储目录
脚本配置文件: /etc/sysconfig/httpd
Listen端口:80/tcp ,443/tcp
命令执行文件:/usr/sbin/apachectl ,/usr/sbin/httpd,/usr/bin/htpasswd
PID文件:/var/run/httpd/httpd.pid
5.设置腾讯云服务器安全组
5.1新建安全组。安全组是一个逻辑分组,用来设置出入站规则。详细信息请看腾讯云服务器上的解释。
5.2添加入站规则。入站规则就是访问腾讯云服务器的规则。添加我们web应用的端口8082
5.3 关联实例,关联你的服务器实例。
最后,我们就可以在浏览器上输入http://你的公网IP:8082/mydemo/hello/w,然后就可以访问自己的demo了。
如果觉得写得可以请给我点个赞吧,^-^,谢谢!