坑一:
在linux中使用的环境一定要是linux版本的,不要图方便导入windows上的jdk
活生生的教训例子:
今天配置了两个小时的阿里云服务器,第一步配置jdk,一直
-bash: java: command not found
,各种环境都搭建配置好了,却依旧报错,后来才发现我用的是windows版本的jdk,唉,这么蠢的问题千万别像我一样!😔。。。
官网太慢了:百度云需要的自取👇
链接:https://pan.baidu.com/s/1BH6-ZS_exQuoAnQdQE3grA
提取码:lefh
坑二:
linux中安装mysql:
一.安装之前准备
1.检查是否安装过mysql,执行命令(我的不知道为啥不好使,试试自己的吧,如果有的话)
rpm -qa | grep mysql
2.查询所有的MySql的文件夹
whereis mysql
find / -name mysql
/home/mysql
/usr/local/mysql
/usr/local/mysql/include/mysql
/usr/local/mysql/data/mysql
/usr/local/mysql/bin/mysql
/usr/java/mysql-8.0.22-winx64/include/mysql
/usr/lib64/mysql
/usr/share/mysql
/usr/bin/mysql
/var/spool/mail/mysql
/run/lock/subsys/mysql
/etc/rc.d/init.d/mysql
/etc/selinux/targeted/active/modules/100/mysql
3.删除相关的目录或者文件
rm -rf 按照自己的目录删一下;如果没有就新安装一下最好了;
4.验证是否删除成功
whereis mysql
find / -name mysql
5.检查mysql用户组或者用户是否存在,如果没有需要创建
cat /etc/group | grep mysql
cat /etc/passwd |grep mysql
groupadd mysql
useradd -r -g mysql mysql
6.下载用于linux的mysql,给亲准备好了
链接:Linux_mysql
提取码:r71m
二.安装MySql:
1.利用工具传上linux,(小编用的MobaXterm,没有的小伙伴去度娘找一下吧),找到您上传mysql的位置,执行解压命令:
tar xzvf mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz
ls
mysql-5.7.24-linux-glibc2.12-x86_64
mysql-5.7.24-linux-glibc2.12-x86_64.tar.gz
解压完成后,看到多了一个文件,移动该文件到/usr/local/下,并将文件的名字修改为mysql。(如果该文件下又mysql,改一下名字就可以了)
执行命令:
mv mysql-5.7.24-linux-glibc2.12-x86_64 /usr/local/
cd /usr/local/
mv mysql-5.7.24-linux-glibc2.12-x86_64 mysql
2.在/usr/local/mysql目录下创建data目录
mkdir /usr/local/mysql/data
3.将mysql目录下的所有目录及文件夹所属的用户组和用户,以及权限更改
chown -R mysql:mysql /usr/local/mysql
chmod -R 755 /usr/local/mysql
4.编译安装并初始化mysql,务必记住初始化输出日志末尾的密码(临时密码,)
出现这个问题不要慌,检查该链接库文件有没有安装,使用命令检查
rpm -qa|grep libaio
如果没有反应说明没有,安装命令
yum install libaio-devel.x86_64
错误又来啦
执行下命令:
yum -y install numactl
然后重新编译只能装一下,也就是重复第四步
5.以上完成后,接着来:
注意观看root@localhost:
我的是这个
yhtXGtma+2w%
每个人不一样,这个就是前面提到的临时密码
6.编辑配置文件my.cnf,添加以下配置,注意,除了我们自己添加的,其他的都注释掉
vi /etc/my.cnf
[mysqld]
datadir=/usr/local/mysql/data
port=3306
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
symbolic-links=0
max_connections=600
innodb_file_per_table=1
lower_case_table_names:是否区分大小写,1表示存储时表名为小写,操作时不区分大小写;0表示区分大小写;不能动态设置,修改后,必须重启才能生效:
character_set_server:设置数据库默认字符集,如果不设置默认为latin1
innodb_file_per_table:是否将每个表的数据单独存储,1表示单独存储;0表示关闭独立表空间,可以通过查看数据目录,查看文件结构的区别;
7.测试启动服务器
/usr/local/mysql/support-files/mysql.server start
显示 Starting MySQL说明可以正常启动
异常情况:
Starting MySQL... ERROR! The server quit without updating PID file
查看是否存在mysql和mysqlId的服务,如果存在,就结束进程,重新启动命令
#查询服务
ps -ef|grep mysql | grep -v grep
ps -ef|grep mysqld | grep -v grep
#结束进程
kill -9 PID
#启动服务
/usr/local/mysql/support-files/mysql.server start
8.添加软引用,重启mysql服务
ln -s /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
#
ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql
#
service mysql restart
9.登录mysql,修改密码
mysql -u root -p(临时密码)
mysql>set password for root@localhost = password('yourpass');
10.开放远程连接
mysql>use mysql;
msyql>update user set user.Host='%' where user.User='root';
mysql>flush privileges;
11.设置开机自动启动
1、将服务文件拷贝到init.d下,并重命名为mysql
[root@localhost /]# cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
2、赋予可执行权限
[root@localhost /]# chmod +x /etc/init.d/mysqld
3、添加服务
[root@localhost /]# chkconfig --add mysqld
4、显示服务列表
[root@localhost /]# chkconfig --list
以上内容参考这里
三.部署项目:
1.部署springboot项目:
注意:小编这里使用的springboot项目,省去了部署tomcat的步骤,所以我们直接把项目打包成jar包就可以省去打包war包在tomcat上部署了。
2.打开idea,首先在pom.xml中添加依赖>**<!-- 打包成jar包 --><packaging>jar</packaging>**
,然后最好改一下项目的application.properties中运行端口,我改成了8081,我的在服务器上冲突,
还有别忘了把链接数据库的端口改一下;
3.idea打成jar包:
首先:
之后:
其次:我们就会看到它
4.然后咱们吧jar包传上服务器:
我这里上传到了/home下
5.然后看一哈使用的端口在服务器有没有被占用:
netstat -anp | grep 8080
建议被占用的话,更改一下项目端口,上面有提到;
6.java -jar ***.jar//**为你的包名
7.百度>公网ip:‘你的端口’
/首地址
8.这种方式是一次启动,当我们关掉操控台,就gg了,有需要重新打开控制台,执行jar -jar***.jar
所以要有一个方法让他一直在阿里云上跑着
9.创建并编写start.sh,向里面添加字段,java -jar “你的jarbao”,然后给新建的这个start.sh管理员权限,然后用nohup指令不间断地运行(nohup指令:忽略所有挂断(SIGHUP)信号,不挂断地运行命令)。
chmod 777 start.sh //赋予管理员权限
nohup ./start.sh & //不间断运行文件内的指令
10.使用:
#查看端口使用请款
netstat -anp | grep 8081
11.关掉操控台试一试
但是我们的我i啥跟百度,谷歌什么的不一样呢?百度www.baidu.com,但是我们的中间是一堆数字?这就涉及到域名啦,这个就得去购买域名啦,emmmm阿里云就有。