Linux基础&Nginx

Linux基础

Linux目录结构

  • root目录:超级管理员所在的目录,用~表示

  • home目录:普通用户所在的目录

  • usr目录:安装用户文件所在的目录

  • etc目录:Linux系统管理和配置文件所在的目录

远程连接工具使用

在实际开发中,Linux服务器都在其他的地方,我们要通过windows客户端工具远程去连接Linux并操作它,连接Linux的windows客户端工具有很多,企业中常用的有secureCRT、Putty、xshell、SSH Secure等

文件夹(目录)操作命令

查看

  • 语法
    ls [参数]

  • 参数解释
    -l 以详细形式查询当前目录下所有文件和目录,不包括隐藏文件和目录
    -a 以精简形式查询当前目录下所有文件和目录,包括隐藏文件和目录

  • 命令
    cd / 进入根目录
    ls 以精简形式查询当前目录下的内容
    ls -l 以详细形式查询当前目录下的内容,d表示目录,-表示文件;此命令可以简写为ll
    ls -a 以精简形式查询当前目录下的隐藏内容
    ls -la 以详细形式查询当前目录下的隐藏内容,la和al都可
    clear 清屏

跳转

  • 语法
    cd 目录
    绝对路径
    /xxx/xxx/xxx
    相对路径
    ./ 当前目录
    …/ 上级目录

  • 命令
    cd ~ 当前用户目录
    cd / 根目录
    cd - 上一次访问的目录
    cd … 上一级目录
    cd 当前用户目录

创建

  • 语法
    mkdir [参数] 目录

  • 参数解释
    -p 一次性创建多级目录,如果目录存在不会覆盖

  • 命令
    cd / 定位于根目录
    mkdir aaa 在当前目录下创建aaa目录,相对路径
    mkdir ./bbb 在当前目录下创建bbb目录,相对路径
    mkdir /ccc 在根目录下创建ccc目录,绝对路径
    mkdir /ddd/eee 在根目录下创建ddd目录和eee子目录

搜索

  • 语法
    find 目录 -name ‘条件’

  • 命令
    cd /
    find / -name ‘b’ 查询根目录下(包括子目录),名为b的目录和文件
    find / -name ‘b*’ 查询根目录下(包括子目录),名以b开头的目录和文件
    在Linux中,按ctrl+c 强行终止程序执行

修改

  • 语法
    mv 旧目录 新目录

  • 命令
    cd /
    mv aaa aaaa 将根目录下的aaa目录修改为aaaa

剪切

  • 语法
    mv 原目录位置 新目录的位置

  • 命令
    cd /
    mv /aaaa /bbb 将根目录下的aaaa目录,移动到bbb目录下,在bbb目录下也叫aaaa目录
    mv bbb usr/bbbb 将当前目录下的bbb目录,移动到usr目录下,且修改名为bbbb

复制

  • 语法
    cp -r 目录 目录的新位置

  • 参数解释
    -r 递归复制,将指定目录下的文件与子目录一并处理

  • 命令
    cd / 定位于/目录
    cp -r /aaa /bbb 将/目录下的aaa目录复制到/bbb目录下,在/bbb目录下名字为aaa
    cp -r /aaa /bbb/aaaa 将/目录下的aaa目录复制到/bbb目录下,且修改名为aaaa

删除

  • 语法
    rmdir [参数] 目录

  • 参数解释
    -p 删除目录及其父目录

  • 命令
    cd /
    rmdir bbb/ccc 删除bbb目录下ccc目录
    rmdir -p bbb/ccc 删除bbb目录和ccc子目录

文件操作命令

创建

  • 语法
    touch 文件名.扩展名

  • 命令
    cd /soft 定位于/soft目录
    touch a.java 在soft目录中创建a.java文件
    touch b.txt 在soft目录中创建b.txt文件
    touch c.xml 在soft目录中创建c.xml文件

查看

  • 语法
    cat/more/less/head/tail 文件

  • 命令
    cd /soft
    cat a.java 查看a.java文件的最后一页内容
    more a.java 从第一页开始,按回车键换行,按空格健翻页,q退出
    less a.java 从第一页开始,按回车键换行,按空格健翻页,支持使用PgUp和PgDn翻页,q退出
    head a.java 查看a.java文件的前10行内容
    tail a.java 查看a.java文件的后10行内容
    head -n 7 a.java 查看a.java文件的前7行内容
    tail -n 7 a.java 查看a.java文件的后7行内容

  • 规则
    如果查看页面数据:cat
    如果查看多页数据:less
    回车:下一行
    空格:下一页
    PGUP:上一页
    PGDN:下一页
    q退出
    查看头部几行:head
    查看尾部几行:tail

删除

  • 语法
    rm [参数] 目录或文件

  • 参数解释
    -r 递归处理,将指定目录下的所有文件及子目录一并处理,它会询问你,y表示是删除,n表示不删除
    -f 强制删除,它不会再询问你

  • 命令
    cd /soft
    rm -rf a.java 强行式删除当前目录下的a.java文件
    rm -rf ./a* 强行式删除当前目录下以a开头的所有文件
    rm -rf / 自杀

编辑

linux 下的vi 是一种文字编辑器,后来的升级版本是vim。vi 分为三种模式:命令行、插入、底行模式

  • 简单使用
    vim a.java
    i 切换到插入模式
    esc 切换到命令行模式
    :wq! 保存并退出 | :q! 直接退出

  • 切换到插入模式
    i 在当前位置前插入
    I 在当前行首插入
    a 在当前位置后插入
    A 在当前行尾插入
    o 在当前行之后插入一行
    O 在当前行之前插入一行

  • 切换到命令行模式
    按Esc键
    yy 复制当前行
    p 粘贴
    dd 删除当前行
    G 到文件的最后一行
    gg 到文件的第一行

  • 切换到底行模式
    按 :(冒号)
    :wq 保存退出
    :q 退出vi(文件无修改的情况下)
    :q! 不保存强制退出

文件压缩命令

windows的压缩文件的扩展名: .zip或.rar

Linux中的打包文件扩展名:.tar

Linux中的压缩文件扩展名:.gz

Linux中打包压缩的文件扩展名:.tar.gz

将文件打成压缩包

  • 语法
    tar -zcvf 打包压缩后的文件名 要打包的文件
    tar -cvf *****.tar a.java b.java c.xml d.txt
    tar -zcvf *****.tar.gz a.java b.java c.xml d.txt

  • 参数解释
    -z:调用gzip压缩命令进行压缩
    -c:打包文件
    -v:显示运行过程
    -f:指定文件名

  • 命令
    cd /soft 定位于/soft目录
    tar -zcvf haha.tar.gz a.java b.java c.java

    tar -zcvf haha.tar.gz ./* 将当前目录下的所有文件打包压缩成haha.tar.gz文件

解压缩包获得文件【重点】

  • 语法
    tar -zxvf 压缩文件
    解压后的文件放在当前目录中
    tar -zxvf 压缩文件 –C指定目录
    解压后的文件放入指定目录中,注意-C是大写字母C,后面不用接空格符

  • 参数解释
    -z 自动识别压缩或解压
    -x 取出文件中的内容
    -v 输出文件清单
    -f 文件名由命令台设置

  • 命令
    cd /soft 定位于/soft目录
    rm -rf ./*.java 强制式删除当前目录下所有扩展名为java的文件
    tar -xvf haha.tar.gz 解压haha.tar.gz这个压缩文件,里面的文件释放到当前目录下
    tar -xvf haha.tar.gz -C/usr/local
    解压haha.tar.gz这个压缩文件,里面的文件释放到/usr/local目录下

文件权限命令

Linux中对每个目录和文件都做了规定,只能由满足条件的用户才能操作,这个规定叫权限
在这里插入图片描述

  • 语法
    chmod [参数] [<权限范围><符号><权限代号>]

  • 参数解释
    -R 递归处理,将指定目录下的所有文件及子目录一并处理

  • 权限范围
    u:User,即文件或目录的拥有者。
    g:Group,即文件或目录的所属群组。
    o:Other,除了文件或目录拥有者或所属群组之外,其他用户皆属于这个范围。
    a:All,即全部的用户,包含拥有者,所属群组以及其他用户。

  • 符号解释
    + 添加权限
    - 取消权限
    = 重置权限

  • 权限代号
    r:读取权限,数字代号为"4"
    w:写入权限,数字代号为"2"
    x:执行或切换权限,数字代号为"1"
    -:不具任何权限,数字代号为"0"

  • 命令
    chmod u+x 1.txt 给1.txt的拥有者添加执行权限,这种写法稍微有点麻烦,开发中一般使用数字代号
    chmod 755 1.txt 给1.txt的拥有者设置读写执行权限,给所属组添加读和执行权限,给其他用户添加 读和执行权限
    chmod -R 777 a.txt 给所有人添加对此文件操作的所有权限

其他命令

显示工作目录

  • 语法
    pwd

查看进程

  • 语法
    ps -au:显示客户端打开的程序进程
    ps -ef:当前用户打开的程序进程

  • 参数解释
    -a 显示所有用户通过终端启动的所有进程
    -A 显示所有进程
    -u 显示所有用户通过终端启动的所有进程详细信息
    -x 显示所有用户通过终端和非终端启动的所有进程详细信息
    -e 此参数的效果和指定"A"参数相同,显示所有程序
    -f 显示UID,PPID,C与STIME栏位

杀死进程

  • 语法
    kill 进程号:温柔杀
    kill -9 进程号:暴力杀

搜索【文本】

  • 语法
    grep [参数] 搜索字符串 文件名

  • 参数解释
    -i 搜索时不区分大小写,大小写不敏感
    -n 显示匹配行及行号,大小写敏感
    -v 显示不匹配行及行号,大小写敏感

  • 命令
    cd /
    grep as 123.txt 在123.txt文件中搜索as字符串,大小写敏感,显示行
    grep -n as 123.txt 在123.txt文件中搜索as字符串,大小写敏感,显示行及行号
    grep -v as 123.txt 在123.txt文件中搜索as字符串,大小写敏感,显示没搜索到行
    grep -i as 123.txt 在123.txt文件中搜索as字符串,大小写不敏感,显示行
    grep -ni “Q q” 123.txt 在123.txt文件中搜索Q q字符串,大小写不敏感,显示行及行号

管道

  • 语法
    xx | xx
    一个命令的输出用作另一个命令的输入

  • 命令
    ls --help | more 分页查询帮助信息
    ps -au | grep system 在ps -au的结果中,搜索字符串a

关机

  • 语法
    poweroff

重启

  • 语法
    reboot

Linux网络

网络(卡)服务

查看当前网络的状态,并启动和停止网络服务

  • 查看ip
    ifconfig :CentOS6版本
    ip addr :CentOS7版本

  • 修改网卡ip
    vim /etc/sysconfig/network-scripts/ifcfg-ens33

  • 概要信息如下
    DEVICE=ens33 #网卡名称
    TYPE=Ethernet #网卡类型 以太网
    ONBOOT=yes #是否开机就使用此网卡 在我们安装的时候都已经配置好
    BOOTPROTO=dhcp #启动网卡时指定获取IP地址的方式
    常用取值:dhcp (自动获取ip地址,网关,子网掩码等信息无需设置)
    常用取值:static (静态ip,如需要访问网络,需要自己设置ip地址等信息)
    其他取值:none (不指定)

    	IPADDR=192.168.200.133    #ip地址
      GATEWAY=192.168.200.2     #网关
      NETMASK=255.255.255.0     #子网掩码
      DNS1=8.8.8.8			  # Google提供的公用DNS       
    
  • 重启网卡服务
    systemctl status network 查看指定服务的状态
    systemctl stop network 停止指定服务
    systemctl start network 启动指定服务
    systemctl restart network 重启指定服务

防火墙服务

防火墙设置

  • 开启防火墙
    systemctl start firewalld

  • 重启防火墙
    systemctl restart firewalld

  • 关闭防火墙
    systemctl stop firewalld

  • 设置开机启动
    systemctl enable firewalld

  • 停止并关闭开机启动
    systemctl disable firewalld

  • 查看防火墙状态
    systemctl status firewalld 或者 firewall-cmd --state

  • 查看防火墙开机时是否启动
    systemctl list-unit-files | grep firewalld

端口设置

  • 添加
    firewall-cmd --zone=public --add-port=80/tcp --permanent

  • 更新防火墙规则
    firewall-cmd --reload

  • 查看
    firewall-cmd --zone=public --query-port=80/tcp
    firewall-cmd --zone=public --list-ports

  • 删除
    firewall-cmd --zone=public --remove-port=80/tcp --permanent

  • 常用端口
    8080 tomcat
    80 http协议
    443 https协议
    22 ssh远程连接
    3306 mysql
    6379 redis

Nginx

介绍

Nginx是一款轻量级的 Web 服务器,由俄罗斯的程序设计师伊戈尔·西索夫所开发
Nginx性能非常优秀,官方测试能够支撑5万并发链接,并且 cpu、内存等资源消耗却非常低,运行非常稳定
Nginx的功能有很多,我们主要使用它来做静态资源服务器、负载均衡服务器和反向代理服务器

应用场景

静态资源服务器

部署网站的静态资源(html、css、js)

反向代理服务器

代理: 给某个对象提供一个代理对象,并由代理对象控制原对象的引用

正向代理: 对客户端进行代理(例如VPN)

反向代理: 对服务端进行代理
反向代理,就是对服务端进行代理,作为客户端,只需要将请求发送到反向代理服务器,由反向代理服务器去选择目标服务器获取数据后,再响应给客户端,此时反向代理服务器和目标服务器对外就是一个服务器,暴露的是代理服务器地址,隐藏了真实服务器IP地址

负载均衡服务器

负载均衡*(Load Balance)*意思就是将一份负载分摊到多个操作单元上进行执行

nginx与tomcat区别

  1. 存放的文件(资源)形式
    Nginx是http服务器,只能解析静态文件
    Tomcat是web中间件(本质上是一个servlet),能解析jsp和静态文件

  2. 用途
    nginx可以作为反向代理服务器,负责均衡服务器,静态资源存放服务器
    tomcat能作为jsp容器使用,静态资源存放服务器

  3. 性能
    nginx支持5W+并发,tomcat的并发只能在200-400之间

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章