一、前言
由于业务需要,要搞一个文件上传下载服务器,代码当前已经在localhost上调试成功。现在需要把这个项目部署到云服务器上,选择的服务器是vultr的vps,系统是Ubuntu16.04。
二、环境准备
1.jdk安装
常规安装即可,注意使用wget jdk文件时用如下命令(accept license aggrement):
wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u181-b13/96a7b8442fe848ef90c96a2fad6ed6d1/jdk-8u181-linux-x64.tar.gz
注意替换下载链接
环境变量配置参考:https://blog.csdn.net/DavidHuang2017/article/details/70258194
2.tomcat安装
sudo apt-get install tomcat8 tomcat8-docs tomcat8-examples tomcat8-admin
#启动
service tomcat8 start
#状态
service tomcat8 status
#停止
service tomcat8 stop
#重启
sudo service tomcat8 restart
安装目录为 : /var/lib/
3.mysql安装
#1.安装
sudo apt-get install mysql-server mysql-client libmysqlclient-dev
#2.检查是否安装成功
sudo netstat -tap | grep mysql
#3.启动服务
service mysql start
#4.登陆
mysql -u root -p
#5.数据库操作
#(1)创建数据库
create database testdb;
#(2)显示所有数据库
show databse;
#(3)切换数据库
use testdb;
#(4)创建表
create table test(
id int not null primary key auto_increment,
name varchar(20));
#(5)查询表中所有数据
select * from test;
#6.远程连接设置
mysql> GRANT ALL PRIVILEGES ON 库名.表名 TO 'username'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
安装目录为 : /var/lib/
三、项目部署
1.JavaWeb项目部署到服务器
我们要部署 Java Web 项目,那就至少得将项目上传到云服务器。基本是下面三个步骤:
① 打包上传:将项目export打包成 war 文件,然后利用 Xshell的ZMODEM 发送到远程服务器(apt-get install lrzsz 能大幅度提高传输速率) ;
② 部署:使用 cp 或 mv 命令,将 war 文件移动到 Tomcat 目录下的 webapps 下 ;
③ 重启 Tomcat,访问我们的项目;
2.数据库远程连接和访问
(1)用navicat远程连接服务器数据库
navicat使用非常简单,功能非常强大;只需要填入ip,port,用户名,密码即可连接mysql;(前提是在mysql中给该用户授权远程连接了)
(2)java代码访问服务器数据库
import java.sql.*;
import java.util.Scanner;
public class DBConnector {
public static final String URL="jdbc:mysql://127.0.0.1/test";//替换ip和数据库名
public static final String DRIVERNAME="com.mysql.jdbc.Driver";
public static final String USERNAME="user_test";//已授权远程连接的用户
public static final String USERPASS="123456";
public Connection conn=null;
public PreparedStatement pst=null;
public ResultSet rs=null;
public DBConnector(String sql) {
try{
Class.forName(DRIVERNAME);
conn=DriverManager.getConnection(URL,USERNAME,USERPASS);
pst=conn.prepareStatement(sql);
}catch (ClassNotFoundException e){
e.printStackTrace();
}catch (SQLException e){
e.printStackTrace();
}
}
public void close(){
try {
pst.close();
conn.close();
} catch (SQLException e) {
e.printStackTrace();
}
}
public static void main(String[] args) {
System.out.println("请输入id: ");
Scanner scan = new Scanner(System.in);
int id = scan.nextInt();
String sql="select * from student where id='"+id+"'";
DBConnector dbc=new DBConnector(sql);
int resultSize=0;
try {
dbc.rs=dbc.pst.executeQuery(sql);
while (dbc.rs.next()){
System.out.println(dbc.rs.getString("id")+" "
+dbc.rs.getString("name"));
resultSize++;
}
if(resultSize==0){
System.out.println("查询结果为空!请输入正确的id");
}
} catch (SQLException e) {
e.printStackTrace();
}finally {
dbc.close();
}
}
}
3.远程访问网站
测试网址:
访问的网站地址
参考博客:
https://blog.csdn.net/gulu_gulu_jp/article/details/50994003
https://blog.csdn.net/gulu_gulu_jp/article/details/50986899