一、常见的liunx命令
在配置文件中,搜索某个字符串的指令
步骤:
1.使用vim命令进入配置文件
2.在nomal状态下输入“ / ”
3.然后输入要搜索的字符串
1.显示当前目录
pwd
2.跳转到上一级目录 和 返回上两级目录
cd .. //一级
cd ../.. //两级
3.创建文件夹
mkdir
4.删除目录文件夹
rmdir
5.对外开放,使得Xshell能够连接到linux
service sshd status
6.查看Linux服务器的IP信息
ifconfig
7.重命名
mv 旧名 新名
8.开启 查看 关闭防火墙
service iptables start //开启
service iptables status//查看
service iptables stop //关闭
1.多线程的创建三种方式用法及区别
详见:https://www.cnblogs.com/zwwhnly/p/11890032.html
查看jdk安装路径
安装jdk:详情

2.安装mysql (参考资料:参考博文)
1.解压压缩包
1.解压到/usr/local/mysql8.0目录下(mysql8.0文件夹为自己创建)
tar -xvf mysql-8.0.25-linux-glibc2.12-x86_64.tar.xz -C /usr/local/mysql8.0
mv mysql-8.0.25-linux-glibc2.12-x86_64 mysql8 //重命名
2.添加用户组
groupadd mysql //添加用户组
useradd -r -g mysql mysql //添加用户mysql 到用户组mysql(使用-r参数表示mysql用户是一个系统用户,不能登录)
id mysql //添加完用该命令测试,能看到mysql用户的信息
3.手动创建MySQL data目录
cd /usr/local/mysql8.0/mysql8
mkdir data
4.目录权限设置
chown -R mysql:mysql /usr/local/mysql8.0/mysql8 //将mysql及其下所有的目录所有者和组均设为mysql
cd /usr/database/ //查看是否设置成功,执行下面命令,可以看到文件的所有者和组都变成了mysql
ll //查看
//结果类似 结果中出现:drwxr-xr-x 10 mysql mysql 4096 Jul 3 13:57 mysql5.7
5.配置my.cnf文件
rm -rf /etc/my.cnf
vim /etc/my.cnf
#此文件内容如下(路径根据自己的实际情况):
[client]
port = 3306
socket = /tmp/mysql.sock
[mysqld]
init-connect='SET NAMES utf8'
basedir=/usr/local/mysql8.0/mysql8 #根据自己的安装目录填写
datadir=/usr/local/mysql8.0/mysql8/data #根据自己的mysql数据目录填写
socket=/tmp/mysql.sock
max_connections=200 #允许最大连接数
character-set-server=utf8 # 服务端使用的字符集默认为8比特编码的latin1字符集
default-storage-engine=INNODB #创建新表时将使用的默认存储引擎
6.初始化mysql
/usr/local/mysql8.0/mysql8/bin/mysqld --initialize-insecure --user=mysql --basedir=/usr/local/mysql8.0/mysql8 --datadir=/usr/local/mysql8.0/mysql8/data
//注意:mysqld --initialize-insecure初始化后的mysql是没有密码的
//然后重新修改下各个目录的权限
chown -R root:root /usr/local/mysql8.0/mysql8/ //把安装目录的目录的权限所有者改为root
chown -R mysql:mysql /usr/local/mysql8.0/mysql8/data/ //把data目录的权限所有者改为mysql
7.启动mysql
/usr/local/mysql8.0/mysql8/bin/mysqld_safe --user=mysql &
8.修改密码
cd /usr/local/mysql8.0/mysql8/bin/ //来到目录下准备启动
./mysql -u root -p // 默认没有密码,直接敲回车就可以
use mysql;
//下面这个命令过时了,对于有些服务器不起作用
update user set authentication_string=password('这里填你设置的密码') where user='root';
//新的修改语句
ALTER USER 'root'@'localhost' IDENTIFIED BY '这里填你设置的密码';
flush privileges;
exit;
9.测试登录
cd /usr/local/mysql8.0/mysql8/bin/ //来到目录下准备启动
./mysql -u root -p //输入密码
有些在输入密码时可能不会显示,但这并不代表真的没有输入
show databases;
exit; //退出
10.copy启动脚本并将其添加到服务且设置为开机启动
cp /usr/local/mysql8.0/mysql8/support-files/mysql.server /etc/init.d/mysql //mysql启动脚本
chkconfig --add mysql //添加服务
chkconfig --list //显示服务列表
chkconfig --level 345 mysql on //开机启动
测试添加的服务是否能用
service mysql status //查看状态
service mysql start //启动mysql服务
service mysql stop //停止mysql服务
3.设置外网可以访问
cd /usr/local/mysql8.0/mysql8/bin/ //来到目录下准备启动
./mysql -u root -p //输入密码
use mysql;
select host,user from user;//可以看到user为root,host为localhost的话,说明mysql只允许本机连接,那么外网,本地软件客户端就无法连接了。
调整方法:
update user set host='%' where user ='root';
flush privileges; //执行刷新
如果还访问不了,那可能是防火墙问题,修改下防火墙就ok
4.mysql远程连接Navicat
问题:当所有的安装工作全部完成之后,关闭防火墙,然后再Navicat中输入ip和3306端口,发现还是连接不上
原因:由于我用的linux用的是腾讯云服务器,而云服务器自带防火墙,相当于一共两层防火墙,所以这就导致了在怎么设置linux服务器的防火墙都无济于事
解决办法:在云服务器的控制台增加一个“允许访问的3306端口”
四、Linux启动tomcat
1.使用到的命令
1.启动命令
cd /usr/local/tomcat/apache-tomcat-8.5.65/bin
./startup.sh
2.查看是否开启成功
netstat -lnp|grep 8080
2.为Tomcat配置环境变量
/usr/local/tomcat/apache-tomcat-8.5.6为解压路径
export CATALINA_HOME=/usr/local/tomcat/apache-tomcat-8.5.65
3.启动tomcat后,不能访问Linux服务器
现象: 成功启动Linux服务器上的tomcat,但是在其他服务器上访问该Linux服务器时,出现连接超时和拒接连接的现象
原因:在Linux中没有关闭防火墙,使用如下命令关闭
service iptables status //查看防火墙状态
service iptables stop //关闭防火墙
五、在部署springboot项目的war包时中遇到的问题
1.jdk和tomcat的版本不一致导致tomcat不能启动
在使用tomcat部署war时,jdk和tomcat的版本必须一致,32对32,64对64
如何查看jdk的版本
使用命令Java -version
2.在把war包部署在tomcat上时步骤
1.把war包放到tomcat的webapp目录下
2.在conf目录中的server.xml中的host标签中添加如下配置
其中:
path:为浏览器访问时的根目录(自定义,也可以不写,只用"/"表示相当于localhost:8080就能访问)
docBase:为war名称
<Context path="/" docBase="war包名称(没有后缀名)" debug="0" privileged="true" reloadable="true"/>
3.tomcat启动之后没有启动springboot项目
tomcat启动了,但springboot没有启动,我遇到的有两个原因
1.启动类没有继承SpringBootServletInitializer并重写configure方法
问题:在tomcat启动后,在控制中没有spring的标志,说明没有启动springboot项目
解决办法:需要让启动类继承SpringBootServletInitializer,同时重写configure方法
2.在pom文件中没有内嵌tomcat服务器
错误的写法
正确的写法
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</dependency>
4.当启动tomcat服务器时,双击startup.bat出现"闪退"现象
现象:我在正常启动时出现了闪退现象,通过一番搜索后,有人说是,jdk安装有问题,我使用Java -version能够正常显示jdk版本号,这说明jdk没有问题
解决办法:出现闪退不能正常启动,可以通过命令行启动tomcat
步骤:
1.使用命令行来到tomcat的bin目录下
2.执行startup.bat
命令,tomcat正常启动
5.在访问时不带项目名
特别注意:在部署云服务器时,由于项目名和某个接口名相同,引起的404
在部署时
在tomcat/conf/server.xml中的host标签中添加如下代码
path="" ---------表示不加任何的项目名就可以访问
docBase=“blog”----------表示war包的名称
<Context path="" docBase="blog" debug="0" privileged="true" reloadable="true"/>
六、部署到腾讯云服务器时出现的问题
1.解压jdk时报错
1.解压jdk时出现的报错
2.原因是告诉我们找不到jdk文件,但是我明明已经把jdk放在了/home/down路径下
真正原因是:默认的linux共享库搜索路径为/lib和/usr/lib目录,若共享库不在这两个路径,进程运行时不能自动链接
3.解决办法:在解压时指明解压后的存放绝对路径
sudo tar -xvzf /home/downfile/jdk-8u201-linux-x64.tar.gz -C /usr/lib/jvm
解压到指定usr/lib/jvm目录下
`
2.Tomcat启动成功后使用8080端口访问不到
问题:Tomcat启动成功,在使用8080访问云服务器时,出现拒绝访问界面
原因:服务器的防火墙只对http 80端口允许访问