系统目录
/bin:bin是Binary的缩写, 这个目录存放着最经常使用的命令。
/boot: 这里存放的是启动Linux时使用的一些核心文件,包括一些连接文件以及镜像文件。
/dev : dev是Device(设备)的缩写, 存放的是Linux的外部设备,在Linux中访问设备的方式和访问文件的方式是相同的。
/etc: 这个目录用来存放所有的系统管理所需要的配置文件和子目录。
/home:用户的主目录,在Linux中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的。
/lib:这个目录里存放着系统最基本的动态连接共享库,其作用类似于Windows里的DLL文件。
/lost+found:这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。
/media:linux系统会自动识别一些设备,例如U盘、光驱等等,当识别后,linux会把识别的设备挂载到这个目录下。
/mnt:系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在/mnt/上,然后进入该目录就可以查看光驱里的内容了。
/opt:这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。
/proc:这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。
/root:该目录为系统管理员,也称作超级权限者的用户主目录。
/sbin:s就是Super User的意思,这里存放的是系统管理员使用的系统管理程序。
/srv:该目录存放一些服务启动之后需要提取的数据。
/sys:这是linux2.6内核的一个很大的变化。该目录下安装了2.6内核中新出现的一个文件系统 sysfs 。
/tmp:这个目录是用来存放一些临时文件的。 用完即丢的文件可以放在这个目录下
/usr:这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于windows下的program files目录。
/usr/bin: 系统用户使用的应用程序。
/usr/sbin: 超级用户使用的比较高级的管理程序和系统守护程序。
/usr/src: 内核源代码默认的放置目录。
/var:这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。
/run:是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。
/www:存放服务器网站相关的资源,环境,网站的项目
常用基本命令
目录管理
绝对路径:路径全称
相对路径:相对于当前路径
cd切换命令
cd: #切换目录命令!
./: #当前目录
/: #绝对路径
cd..: #返回上一级目录
cd ~: #回到当前的用户目录
pwd : #显示当前用户所在的目录
ls 列出目录
-a: #参数: all ,查看全部的文件,包括隐藏文件
-l: #参数列出所有的文件,包含文件的属性和权限,没有隐藏文件
ls -al #查看全部的文件包括隐藏文件的属性和权限
rm 移除文件或者目录
-f #忽略不存在的文件,不会出现警告,强制删除!
-r #递归删除目录!
-i #互动,删除询问是否删除
rm -rf install.sh/ #删除系统中的install.sh
mkdir 创建一个目录
mkdir -p test1/test2/test3 # 用-p递归创建层级目录
rmdir 删除目录
rmdir -p test1/test2/test3 #递归删除文件
rmdir只能删除空的目录,如果下面存在文件,需要先删除文件,递归删除多个目录-p参数即可
rm 移除文件或者目录
-f #忽略不存在的文件,不会出现警告,强制删除!
-r #递归删除目录!
-i #互动,删除询问是否删除
rm -rf install.sh/ #删除系统中的install.sh ,轻易不要尝试
mv 移动文件或者目录|重命名文件
-f #强制
-u #只替换已经更新过的文件
###########################################
mv install.sh 文件夹 #移动文件
mv 文件夹名 另一个文件夹名 #重命名文件夹名
文件内容查看
Linux系统中使用以下命令来查看文件的内容:
- cat由第一行开始显示文件内容
- tac从最后一行开始显示,可以看出tac是cat的倒着写!
网络配置
ping #用来查看网络是否连通
ifconfig #查看网络 和Windows的ipconfig是一样的
Vim编辑器
基本上Vi/Vim共分为三种模式,分别是
命令模式( Command mode) ,
输入模式( Insert mode ),
底线命令模式( Lastline mode )。
命令模式
- i 切换到输入模式,以输入字符。
- x 删除当前光标所在处的字符。
- 先按esc , 然后输入 : 切换到底线命令模式,以在最底一行输入命令
若想要编辑文本:启动Vim,进入了命令模式,按下i,切换到输入模式。
命令模式只有一些最基本的命令,因此仍要依靠底线命令模式输入更多命令。
输入模式
底线命令模式
在命令模式下按下:(英文冒号)就进入了底线命令模式。
底线命令模式可以输入单个或多个字符的命令,可用的命令非常多。
在底线命令模式中,基本的命令有(已经省略了冒号):
q 退出程序
w 保存文件
按ESC键可随时退出底线命令模式。
用户账号的管理
useradd 命令 添加用户
命令:useradd -选项 用户名
-----------------------------------------------------
选项:
-m:自动创建这个用户的主目录/home/cqh
-G:给用户分配组
删除用户 userdel
userdel -r 用户名 #删除用户的时候把它的目录也删除掉
修改用户 usermod
usermode -d /home/目录 用户名
# 超级用户
$ 普通用户
磁盘管理
df(列出文件系统整体的磁盘使用量) du(检查磁盘空间使用量)
df
du
进程管理
查看进程
ps : 查看当前系统中正在执行的各种进程的信息
ps- xx:
-a 显示当前终端所有的进程信息
-u 以用户的信息显示进程
-x 显示后台运行进程的参数
| -----> 管道符,A|B:把A命令的作为B命令输出
ps -xx|grep 进程名字
--------------------------------------------------------
ps -aux|grep mysql #查看mysql相关进程
ps -aux|grep redis
ps -aux|grep java
--------------------------------------------------------
pstree -pu
-p #显示父进程
-u #显示用户组
结束进程:
kill -9 pid
安装jdk
将下载好的jdk通过xftp上传到服务器
安装环境:
将tar 包解压。
tar -zxvf jdk-8u161-linux-x64.tar.gz
进去解压后的目录
cd jdk1.8.0_161/
打开配置
vim /etc/profile
重新加载配置文件,输入:
source /etc/profile
查看安装情况输入:
java -version
防火墙
查看防火墙开启了那些端口:firewall-cmd --list-ports
查看防火墙的状态:systemctl status firewalld
如果是dead状态,即防火墙未开启。
开启防火墙:systemctl start firewalld
开放默认端口号 8080,出现success表示成功:
firewall-cmd --permanent --zone=public --add-port=8080/tcp
firewall-cmd --zone=public --add-port=8888/tcp --permanent
命令:
--zone: #作用域
--add-port=80/tcp # 添加端口,格式为:端口/协议
--permanent # 永久生效,没有此参数重启后会失效
重启防火墙:systemctl restart firewalld.service
查看所有开启的端口:firewall-cmd --list-ports
8080端口已开启
关闭防火墙:systemctl stop firewalld
安装Tomcat
将下载好的Tomcat上传到服务器
解压: tar -zxvf apache-tomcat-9.0.54.tar.gz
启动Tomcat测试: ./xxx.sh 脚本
启动成功:./startup.sh
如果防火墙8080开启,并且阿里云的安全组也添加了8080 端口,就可以直接访问远程了
在线安装MYSQL
1.通过wget指令下载mysql的rpm 文件
http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
2. rpm 安装mysql
rmp -ivh mysql57-community-release-el7-10.noarch.rpm
3. 通过yum 安装mysql服务
yum -y install mysql-community-server
4.加入开机启动
systemctl enable mysqld
5. 启动mysql服务
systemctl start mysqld
lsof -i:3306
5. 停止mysql服务
systemctl start mysqld
或者使用:service mysqld stop
mysql 基本使用
-
查找初始密码:cat mysqld.log | grep password
-
登录mysql:mysql -uroot -p
-
修改密码
- 将密码检查机制设置为LOW:
set global validate_password_policy=LOW; - 修改密码:
set password=password(‘root’);
- 将密码检查机制设置为LOW:
如果出现下面情况
mysql> set global validate_password_policy=0;
Query OK, 0 rows affected (0.00 sec)
mysql> set global validate_password_length=4;
Query OK, 0 rows affected (0.00 sec)
mysql> set password=password('root');
Query OK, 0 rows affected, 1 warning (0.00 sec)
运行
创建数据库,但是不能远程链接
- 授权远程登录
GRANT ALL PRIVILEGES on *.* to 'root'@'%' IDENTIFIED by 'root' WITH GRANT OPTION;
- 使用navicat 链接(云服务器要把3306端口号放行)
springboot 项目部署到Linux远程服务器;
在pom.xml文件中要配置:
必须要配置,不然打jar包中没有jsp页面,没有webapp,访问会报404
pom.xml 的全部配置:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.5.5</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.yu</groupId>
<artifactId>ssm-boot</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>ssm-boot</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.2.0</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
<optional>true</optional>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<!-- 内置tocmat -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
<!-- jstl标签库的依赖 -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
</dependency>
<!-- 由于springBoot不推荐使用jsp,默认不支持jsp,需要jar编译jsp页面 -->
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>1.4.2.RELEASE</version>
<configuration>
<fork>true</fork>
<!-- 此处为自己的启动类-->
<mainClass>com.yu.SsmBootApplication</mainClass>
</configuration>
</plugin>
</plugins>
<resources>
<!-- 打包webapp下的资源到META-INF/resources目录下
注:此操作后resources资源就不会再进行打包-->
<resource>
<directory>src/main/webapp</directory>
<targetPath>META-INF/resources</targetPath>
<includes>
<include>**/**</include>
</includes>
</resource>
<!-- 打包resources下的资源 -->
<resource>
<directory>src/main/resources</directory>
<includes>
<include>**/**</include>
</includes>
</resource>
</resources>
</build>
</project>
打jar包
=======================================
1.安装CentOS
- 打开终端:application —》Terminal(终端)
- 查看网络配置:ifconfig
- 切换用户:
su username
输入密码 (低权限用户切换高级权限需要输入密码) - 重启Linux :
reboot
- 系统状态切换
切换到命令行模式: init 3
切换到桌面模式 :init 5
2.虚拟机克隆
虚拟机克隆 基于现有的虚拟机环境快速复制相同环境的虚拟机
应用场景:
- 对虚拟机环境进行备份
- 在企业开发中很多场景都需要相同环境的Linux系统
2.1克隆的步骤
- 关闭目标虚拟机
- 选择目标虚拟机: 右键->管理->克隆
修改克隆机的mac地址
- 选择克隆机
3.Linux远程工具
3.1 Linux资源管理工具
安装 xftp SSH
ECS服务器管理
管理规则
设置安全组管理(防火墙)
远程工具链接云主机
云主机公网IP:
root账号的密码:
后端项目打包部署
Maven聚合工程打包出错
如果出错 则说明是父工程和子工程的依赖关系导致的问题
使用Tomcat部署前端项目存在的问题
- 前端项目的页面包含大量的css/js/图片,会有大量的并发请求,Tomcat难以满足并发的需求
- Tomcat的核心价值在于便于执行java程序,而不是处理并发,同时前端项目中没有java程序,从功能上讲前端项目的部署也用不到Tomcat
使用Tomcat作为前端项目的服务器是性能低的
Windows 下安装Nginx
下载地址:https://nginx.org/en/download.html
解压到目录:
运行及访问:一闪而过
在任务管理器中可以查看
浏览器访问:localhost:80
Nginx配置文件说明
#user nobody;
# 配置处理器个数(不应超过cpu核心数)
worker_processes 1;
#配置Nginx运行日志文件
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
# 配置Nginx进程的进程号的存储文件
#pid logs/nginx.pid;
# 配置Nginx链接数,数值越大并发越强,默认是1024
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
#log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';
#access_log logs/access.log main;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
#gzip on;
server {
#配置Nginx端口号和访问前缀
listen 80;
server_name localhost;
# 地址映射 ==》 /
location / {
root html;
index index.html index.htm;
}
# 注释的文件删掉
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
# 注释的文件删掉
}
# 注释的文件删掉
}
Linux 下安装Nginx(在线安装)
1.安装编译工具(Nginx安装之前需要编译)
yum install -y gcc gcc-c++
2.安装PCRE
2.1下载
wget http://downloads.sourceforge.net/project/pcre/pcre/8.35/pcre-8.35.tar.gz
2.2 解压
tar -zxvf pcre-8.35.tar.gz
2.3进入pcre目录
cd pcre-8.35
2.4配置
./configure
2.5编译并安装
make && make install
(或者两条指令分别执行,先执行make,再执行make install)
3.安装SSL库
- wget http://www.openssl.org/source/openssl-1.0.1j.tar.gz
- tar -zxvf openssl-1.0.1j
- openssl-1.0.1j
- ./config
编译及安装
5.make && make install
4.安装zlib
- wget http://zlib.net/zlib-1.2.11.tar.gz
- tar -zxvf zlib-1.2.11.tar.gz
- cd zlib-1.2.11
- ./configure
- make && make install
5.安装Nginx
- wget http://nginx.org/download/nginx-1.18.0.tar.gz
- tar -zxvf nginx-1.18.0.tar.gz
- cd nginx-1.18.0
- mkdir -p /usr/local/server/nginx
- ./configure --prefix=/usr/local/server/nginx --with-http_stub_status_module --with-http_ssl_module --with-pcre=/usr/local/pcre-8.35
安装报了一个错
- yum -y install openssl openssl-devel
- 再来运行:./configure --prefix=/usr/local/server/nginx --with-http_stub_status_module --with-http_ssl_module --with-pcre=/usr/local/pcre-8.35
- make && make install
运行及访问Nginx