最近在阿里云购买了一台轻量级云服务器,开始了自主服务之旅,下面记录步骤以及采坑过程。
首先拿到服务器的第一步我进入了控制台-远程连接中设置了连接密码,然后通过securt客户端工具连接。
自行下载jdk1.8然后cd到/usr/local目录下创建java目录,将jdk解压(解压命令tar -xvf 文件);最后进入/etc/profile中设置环境变量
#set java environment
JAVA_HOME=/usr/local/java/jdk1.8
CLASSPATH=.:$JAVA_HOME/lib.tools.jar
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME CLASSPATH PATH
最后记得执行source /ect/profile命令使其生效
centos7默认自带mariadb。当然我们不用这个玩意,所以我们去mysql官网下载mysql5.6.45 (选择redhat操作系统版本),下载到/usr/local下新建目录mysql,将mysql tar包解压入其中(解压命令tar -xvf 文件);
执行命令(查询已安装的mariadb)
rpm -qa|grep mariadb
然后执行命令 (进行卸载 )
rpm -e --nodeps 文件名
解压mysql tar包后里面有好几个文件(server、client、devel等)
首先执行命令安装mysql-server:
rpm -ivh MySQL-server-5.6.45-l.el7.x86_64.rpm
如果出现错误:
error:Failed dependencies:libaio.so.l()(64bit) is need by MySQL-server-5.6.45-l.el7.x86_64.rpm
不要着急这是缺少依赖。执行 yum install libaio 命令安装依赖即可。
另外还有可能遇到的坑:
警告:Percona-Server-server-56-5.6.27-rel76.0.el6.x86_64.rpm: 头V4 DSA/SHA1 Signature, 密钥 ID cd2efd2a: NOKEY
错误:依赖检测失败:
perl(Data::Dumper) 被 Percona-Server-server-56-5.6.27-rel76.0.el6.x86_64 需要
咋一看又是缺少依赖,执行 yum install perl 安装依赖,继续安装mysql,然后依然抛出上述错误,这时就一脸懵逼了,明明已经安装了呀;一顿搜索,发现需要安装的其实是 autoconf 这个依赖,然后执行 yum -y install autoconf 即可(真是有点坑爹)。
然后依次执行如下命令安装mysql-client 和mysql-devel
rpm -ivh MySQL-client-5.6.37-1.el7.x86_64.rpm
rpm -ivh MySQL-devel-5.6.37-1.el7.x86_64.rpm
最后如果顺利的话就可以执行命令启动mysql了
service mysql start
执行命令:mysql -uroot -p
一般来说首次安装mysql是没有密码的,所以直接回车即可(如果登不进去,提示一定需要 密码也别着急看我下面的操作);
注:我在此处遇到了一个坑,怎么都登不进去,提示要输入密码,回车也不行,所以我做了一个操作 跳过密码登陆
执行命令:
mysqld_safe --user=root --skip-grant-tables --skip-networking & (绕过密码登录,mysql未启动前设置)
然后正常执行如下命令,修改密码;
service mysql start //启动mysql
mysql -u root -p //登录
use mysql //切换数据库
UPDATE user SET password=password("123456") WHERE user='root'; //修改密码
quit //退出
grant all privileges on *.* to 'root'@'%' identified by 'root' with grant option;
flush privileges;//刷新权限
quit //退出
mysql service mysql restart //重启mysql
查看firewall状态(runing:运行,not runing:没有运行),如果没有运行,用systemctl start firewalld启动
firewall-cmd --state
firewall-cmd --permanent --zone=public --add-port=3306/tcp //添加3306端口
firewall-cmd --reload //重新加载firewall
执行完上述操作后千万不要以为就完了,这个时候你们通过客户端工具navcat去连接可能会报错
10038错误,显示2003 can't connect to MySQL server on 'localhost'(10038).
别急一般来说这个错误一般就是如下几个原因:
1.限制了远程登陆,即没有授权(我们在上一步已经操作了赋予任何主机访问数据库的权限)
2.查看3306端口是否开放(我们也操作了设置防火墙开放3306端口)
3.在阿里云控制台的防火墙规则里添加端口
很明显我们缺少的就是这一步,没有添加防火墙规则。
最后再用工具连接就OK了。
进入/home目录创建任意文件夹用来存放项目jar (mkdir project )
上传项目到project文件夹中,nohup java -Xms512m -Xmx512m -jar xx-0.0.1-SNAPSHOT.jar > xx.log 2>&1 &
然后通过ip或者映射的域名访问即可:192.168.0.2:8080
是不是发现访问不了,哈哈哈,其实还没完,登陆服务器控制台继续添加端口规则,将你设置的端口(我这里是8080端口)添加到规则中后就可以了。