java程序员看这一篇Linux基础就够了

系统目录

/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系统中使用以下命令来查看文件的内容:
  1. cat由第一行开始显示文件内容
  2. tac从最后一行开始显示,可以看出tac是cat的倒着写!

在这里插入图片描述

网络配置
ping 		#用来查看网络是否连通
ifconfig 	#查看网络 和Windows的ipconfig是一样的

Vim编辑器

基本上Vi/Vim共分为三种模式,分别是

命令模式( Command mode) ,
输入模式( Insert mode ),
底线命令模式( Lastline mode )。

命令模式

  1. i 切换到输入模式,以输入字符。
  2. x 删除当前光标所在处的字符。
  3. 先按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
    在这里插入图片描述

  • 修改密码

    1. 将密码检查机制设置为LOW:
      set global validate_password_policy=LOW;
    2. 修改密码:
      set password=password(‘root’);

如果出现下面情况 在这里插入图片描述

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.虚拟机克隆

虚拟机克隆 基于现有的虚拟机环境快速复制相同环境的虚拟机

应用场景:
  1. 对虚拟机环境进行备份
  2. 在企业开发中很多场景都需要相同环境的Linux系统
2.1克隆的步骤
  • 关闭目标虚拟机
  • 选择目标虚拟机: 右键->管理->克隆
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
修改克隆机的mac地址
  • 选择克隆机
    在这里插入图片描述

3.Linux远程工具

3.1 Linux资源管理工具

安装 xftp SSH

ECS服务器管理

管理规则

在这里插入图片描述

设置安全组管理(防火墙)

在这里插入图片描述
在这里插入图片描述

远程工具链接云主机

云主机公网IP:
root账号的密码:

后端项目打包部署

Maven聚合工程打包出错

如果出错 则说明是父工程和子工程的依赖关系导致的问题

使用Tomcat部署前端项目存在的问题
  1. 前端项目的页面包含大量的css/js/图片,会有大量的并发请求,Tomcat难以满足并发的需求
  2. 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库
  1. wget http://www.openssl.org/source/openssl-1.0.1j.tar.gz
  2. tar -zxvf openssl-1.0.1j
  3. openssl-1.0.1j

在这里插入图片描述

  1. ./config

在这里插入图片描述

编译及安装

5.make && make install

4.安装zlib
  1. wget http://zlib.net/zlib-1.2.11.tar.gz
  2. tar -zxvf zlib-1.2.11.tar.gz
  3. cd zlib-1.2.11

在这里插入图片描述

  1. ./configure
  2. make && make install
5.安装Nginx
  1. wget http://nginx.org/download/nginx-1.18.0.tar.gz
  2. tar -zxvf nginx-1.18.0.tar.gz
  3. cd nginx-1.18.0
    在这里插入图片描述
  4. mkdir -p /usr/local/server/nginx
  5. ./configure --prefix=/usr/local/server/nginx --with-http_stub_status_module --with-http_ssl_module --with-pcre=/usr/local/pcre-8.35
    在这里插入图片描述
    安装报了一个错
    在这里插入图片描述
  6. yum -y install openssl openssl-devel
    在这里插入图片描述
  7. 再来运行:./configure --prefix=/usr/local/server/nginx --with-http_stub_status_module --with-http_ssl_module --with-pcre=/usr/local/pcre-8.35
    在这里插入图片描述
  8. make && make install
运行及访问Nginx

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

YJY@

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值