搭服务器

搭服务器

1 先去租个服务器

我选的是阿里云的服务器

2 登录

通过控制台进行远程连接,用vnc连接,记住啥密码(可以改的)。登录的密码得去控制台那里重置实例密码就行了,然后就可以登录了。
##3 换个Ubuntu系统,windows卡死了
按照这个博客安装jdk,tomcat
https://www.jianshu.com/p/9fd0377c130e

3 Ubuntu命令

ls 显示当前目录所有文件或文件夹。
touch 创建文件。
cat 打开指定文件,并且将文件中内容显示在终端。
mkdir 创建文件夹。
rmdir 删除文件夹 只能删除空文件夹。
rm 删除文件 后面加个r 意思是先把文件夹中文件删除,再把文件夹删除。
vi filename: 打开或新建文件,并将光标置于第一行首 。
新增 (append)
a :从光标所在位置后面开始新增资料,光标后的资料随新增资料向后移动。
A:从光标所在列最后面的地方开始新增资料。
插入 (insert)
i:从光标所在位置前面开始插入资料,光标后的资料随新增资料向后移动。
I:从光标所在列的第一个非空白字元前面开始插入资料。
开始 (open)
o :在光标所在列下新增一列并进入输入模式。
O: 在光标所在列上方新增一列并进入输入模式。
r :修改光标所在字元,r 后接着要修正的字符。
R:进入取替换状态,新增文字会覆盖原先文字,直到按 [ESC] 回到指令模式下为止。
s:删除光标所在字元,并进入输入模式。
S:删除光标所在的列,并进入输入模式。
:w 保存当前文件 (前面都是有冒号的,退出编码模式的时候用,按esc退出编码模式)
:e filename 打开文件filename进行编辑
:x 保存当前文件并退出
:q 退出vi
:q! 不保存文件并退出vi

4 安装mysql

  1. 在ubuntu下安装MySQL:
    apt-get update
    apt-get install mysql-server 。我安装的时候没有要求输入密码。
    打开一个文件debian.cnf sudo vim /etc/mysql/debian.cnf,可以看到里面有MySQL的默认用户和密码
    4.1
    通过默认用户和密码进入mysql
    mysql -u debian-sys-maint -p 然后终端会提示你输入密码
    Enter password: 输入文件中的密码即可成功登陆。
    当然了,这之后就要修改密码了,毕竟密码太难记。
mysql> update mysql.user set authentication_string=password('password') where user='root'and Host = 'localhost';

如果显示:

Query OK, 1 row affected, 1 warning (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 1

则代表成功修改,之后需要重启**MySQL,方可登录成功。
则代表成功修改,之后需要
重启**MySQL,方可登录成功。

  1. 常用MySQL命令:
  • 查看MySQL服务状态:service mysql status 。
  • 停止MySQL服务器:service mysql stop 。
  • 开启MySQL服务器:service mysql start 。
  • 重启MySQL服务器:service mysql restart 。
  1. 配置:

(1)查看3306端口是否开启:netstat -an | grep 3306 。这个在阿里云的安全组中配置打开,不开启的话MySQL数据库无法运行。
4.2
(2) 登录mysql后输入 show databases; 就可以查看当前的数据库
数据库.png
输入use mysql更换数据库,然后输入show tables,显示表
image.png
默认情况下,mysql的账号是不允许从远程登录的,只能在localhost登录。
查看mysql账户信息:(用户名和允许登录的主机地址)

    use mysql;
    select host,user from user;

(3)修改root用户的登录主机:update user set host='%' where user='root'; 。允许root用户从远程登录MySQL。同时还要修改MySQL的配置文件,使得远程主机可以使用远程登录来连接MySQL数据库。
在Ubuntu上,配置文件在/etc/mysql/mysql.conf.d/mysqld.cnf 。使用vim打开,找到bind-address=127.0.0.1 将其修改成0.0.0.0 即可。这样就允许任何ip的主机使用远程连接到该MySQL数据库。也可以直接注释掉那句话。
MySQL的配置文件可以有多个不同位置的文件,其具体位置和应用优先级可以参考官网。
(4)重启服务器,使配置生效。service mysql restart

注意: 在linux下,数据表名称的大小写敏感! 因为在windows下开发,默认mysql中大小写是不敏感的;而在linux中,默认是大小写敏感的。如果不配置,JDBC操作数据库时就很容易出问题。

在MySQL的配置文件(同第3点的位置)中,找到[mysqld] 节点,在其下面加入:lower-case-table-names=1
还可以加入:character_set_server=utf8,解决中文乱码的问题。

取值范围有三个,分别是0、1、2:详见官方文档

  • 设置成0:表名按你写的SQL大小写存储,大写就大写小写就小写,比较时大小写敏感。
  • 设置成1:表名转小写后存储到硬盘,比较时大小写不敏感。
  • 设置成2:表名按你写的SQL大小写存储,大写就大写小写就小写,比较时统一转小写比较。
  1. 使用Navicat远程连接数据库
    出现了ERROR 1698 (28000): Access denied for user ‘root’@‘localhost’
    因为除了上述操作还不够,密码改成功之后,查看select user,plugin from user,plugin root 的字段是auth_socket是错误的,要改成mysql_native_password
    输入下面的语句
    update user set authentication_string =password('你的密码'),plugin='msyql_native_password' where user='root'
    在这里插入图片描述
    退出之后,重启mysql就行了。
    至于Navicat的操作就是新建一个常规连接就行
    在这里插入图片描述

5 部署项目

在eclipse中右键项目–Export–WAR file
自己定war文件的位置
将mysql数据库的驱动jar包上传到tomcat服务器的lib目录(把项目用到的jar包移进去
在这里插入图片描述
把war移动到webapps文件夹下。
重新启动tomcat 7,tomcat会自动将war包解压出来执行,然后就可以通过服务地址访问自己的项目了。
在这里插入图片描述
运行结果如下:
在这里插入图片描述

问题

1 用Ubuntu服务器的时候,vim编辑器出现乱码

解决方案如下:

$ sudo vim /etc/vim/vimrc

在最下面添加如下配置

set fileencodings=utf-8,gbk,utf-16le,cp1252,iso-8859-15,ucs-bom
set termencoding=utf-8
set encoding=utf-8

退出,重新进入vim编辑器,即可解决此问题。

2 测试java程序

详见大佬的博客:https://blog.csdn.net/u010900574/article/details/50792353
编译过程

//首先进入Src文件夹
javac -Djava.ext.dirs=../Library/  *.java -d ../Output/
//指定输出编译文件的位置为上级目录的Output文件夹
但是我这还是有问题,因为我是用Eclipse编完然后传进Ubuntu的,然而我的Eclipse是GBK编码的,这样输入命令的话有错误,因此
javac -encoding GBK -Djava.ext.dirs=../Library/  *.java -d ../Output/

执行过程
先进入Output文件夹

//主函数所在文件是Server.java
java -Djava.ext.dirs=../Library  Server

3 一直连不上数据库

1 首先查看MySQL的版本
在终端下执行 mysql -V

root# mysql -V
mysql  Ver 14.14 Distrib 5.7.29, for Linux (x86_64) using 

发现是我的驱动程序的版本低了(其实没低)
2 Java EE项目一直连不上数据库,获取连接失败
原因:我只把jar包导入了项目,但是没有导入进tomcat中
解决方法:把jar包复制进入项目的WebContent->WEB-INF->lib中

4 传输数据乱码

1 修改tomcat服务器的配置文件,具体目录在Tomcat安装目录/conf/server.xml文件,加上后面两句,重启服务器
<Connector connectionTimeout="20000" port="8080" protocol="HTTP/1.1" redirectPort="8443" URIEncoding="UTF-8" useBodyEncodingForURI="true" />
2 用下面语句看一下数据库编码格式
show variables like 'character_set%
在这里插入图片描述
如果其中哪一项不是utf-8,就把他改成utf-8。

具体修改方法我也是网上参考别人的方法,尊重原创作者
http://blog.chinaunix.net/uid-545411-id-2385599.html
3 修改连接数据库的服务器的代码
加上这句话useUnicode=true&characterEncoding=UTF-8

static String url = "jdbc:mysql://localhost:3306/bishe?useUnicode=true&characterEncoding=UTF-8";

搞定

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值