Linux基础知识
ahcoder 2025-05-14 11:31 6 浏览
系统目录结构
/bin: 命令和应用程序。
/boot: 这里存放的是启动 Linux 时使用的一些核心文件,包括一些连接文件以及镜像文件。
/dev : dev 是 Device(设备) 的缩写, 该目录下存放的是 Linux 的外部设备,在 Linux 中访问设备的方式和访问文件的方式是相同的。
/etc: etc 是 Etcetera(等等) 的缩写,这个目录用来存放所有的系统管理所需要的配置文件和子目录。
/home: 用户的主目录,在 Linux 中,每个用户都有一个自己的目录,一般该目录名是以用户的账号命名的,如上图中的 alice、bob 和 eve。
/lib: lib 是 Library(库) 的缩写这个目录里存放着系统最基本的动态连接共享库,其作用类似于 Windows 里的 DLL 文件。几乎所有的应用程序都需要用到这些共享库。
/lost+found: 这个目录一般情况下是空的,当系统非法关机后,这里就存放了一些文件。
/media: linux 系统会自动识别一些设备,例如U盘、光驱等等,当识别后,Linux 会把识别的设备挂载到这个目录下。
/mnt: 系统提供该目录是为了让用户临时挂载别的文件系统的,我们可以将光驱挂载在 /mnt/ 上,然后进入该目录就可以查看光驱里的内容了。
/opt: opt 是 optional(可选) 的缩写,这是给主机额外安装软件所摆放的目录。比如你安装一个ORACLE数据库则就可以放到这个目录下。默认是空的。
/proc: proc 是 Processes(进程) 的缩写,/proc 是一种伪文件系统(也即虚拟文件系统),存储的是当前内核运行状态的一系列特殊文件,这个目录是一个虚拟的目录,它是系统内存的映射,我们可以通过直接访问这个目录来获取系统信息。 这个目录的内容不在硬盘上而是在内存里,我们也可以直接修改里面的某些文件,比如可以通过下面的命令来屏蔽主机的ping命令,使别人无法ping你的机器:
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
/root: 该目录为系统管理员,也称作超级权限者的用户主目录。
/sbin: s 就是 Super User 的意思,是 Superuser Binaries (超级用户的二进制文件) 的缩写,这里存放的是系统管理员使用的系统管理程序。
/selinux: 这个目录是 Redhat/CentOS 所特有的目录,Selinux 是一个安全机制,类似于 windows 的防火墙,但是这套机制比较复杂,这个目录就是存放selinux相关的文件的。
/srv: 该目录存放一些服务启动之后需要提取的数据。
/sys:
这是 Linux2.6 内核的一个很大的变化。该目录下安装了 2.6 内核中新出现的一个文件系统 sysfs 。
sysfs 文件系统集成了下面3种文件系统的信息:针对进程信息的 proc 文件系统、针对设备的 devfs 文件系统以及针对伪终端的 devpts 文件系统。
该文件系统是内核设备树的一个直观反映。
当一个内核对象被创建的时候,对应的文件和目录也在内核对象子系统中被创建。
/tmp: tmp 是 temporary(临时) 的缩写这个目录是用来存放一些临时文件的。
/usr: usr 是 unix shared resources(共享资源) 的缩写,这是一个非常重要的目录,用户的很多应用程序和文件都放在这个目录下,类似于 windows 下的 program files 目录。
/usr/bin: 系统用户使用的命令和应用程序。
/usr/sbin: 超级用户使用的比较高级的管理程序和系统守护程序。
/usr/src: 内核源代码默认的放置目录。
/var: var 是 variable(变量) 的缩写,这个目录中存放着在不断扩充着的东西,我们习惯将那些经常被修改的目录放在这个目录下。包括各种日志文件。
/run: 是一个临时文件系统,存储系统启动以来的信息。当系统重启时,这个目录下的文件应该被删掉或清除。如果你的系统上有 /var/run 目录,应该让它指向 run。
在 Linux 系统中,有几个目录是比较重要的,平时需要注意不要误删除或者随意更改内部文件。
/etc: 上边也提到了,这个是系统中的配置文件,如果你更改了该目录下的某个文件可能会导致系统不能启动。
/bin, /sbin, /usr/bin, /usr/sbin: 这是系统预设的执行文件的放置目录,比如 ls 就是在 /bin/ls 目录下的。
值得提出的是,/bin, /usr/bin 是给系统用户使用的指令(除root外的通用户),而/sbin, /usr/sbin 则是给 root 使用的指令。
/var: 这是一个非常重要的目录,系统上跑了很多程序,那么每个程序都会有相应的日志产生,而这些日志就被记录到这个目录下,具体在 /var/log 目录下,另外 mail 的预设放置也是在这里。
Linux系统安装
基本知识点
命令提示符
命令格式
历史命令和补全功能
1.按上下键查看历史命令
2.history :查看执行过的所有命令
history 10:查看执行过的近10条命令
3.ctr+r:用执行过的命令快速补全
开,关机以及重启
立即关机:
halt (停止进行,中断)
poweroff (定时关机,关闭电源)
shutdown -h now (shutdown:关机)
定时关机:
shutdown -h 5 5分钟后自动关机
shutdown -h 12:00 中午12点关机
立即重启
reboot
shutdown -r now
定时重启
shutdown -r 10 过10分钟自动重启
shutdown -r 22:00 在时间为22:00时候重启
取消以上操作:shutdown -c
目录相关操作
创建
mkdir 目录名 创建目录
mkdir hello 在当前目录下创建
mkdir /usr/local/hello 在指定目录下创建
mkdir hello nihao kang 在当前目录下创建
删除
rm [-rf] 目录名 删除目录 r:递归删除 f:强制删除
rm -r hello 递归删除当前目录下的hello目录
rm -rf hello 递归删除当前目录下的hello目录(不询问)
rm -rf hello nihao kang 递归删除三个目录
移动[剪切]
mv 目录 目录新位置
mv /usr/local/kang /usr/ 将/usr/local下的名为kang的目录移动到/usr下
重命名
mv 目录名 新目录
mv hello nihao 将目录hello改为nihao
[移动+重命名]
mv /usr/local/kang /usr/nihao /usr/local/kang将目录移动到/usr下,并重命名为nihao
o 对比移动
mv /usr/local/kang /usr/nihao/ /usr/local/kang将目录移动到/usr下
注意:若是移动,则/usr/nihao/ local后面要加个/,否则就成移动并重命名了,加/后才表式nihao目录下
如果当前目录下也有个相同名字的文件的话,那这个原文件会被覆盖(可能会询问否是选择覆盖)
拷贝
- -r 是递归把源目录下的目录递归进行移动;
- -f:强行复制文件或目录,不论目标文件或目录是否已存在;
- -i:覆盖既有文件之前先询问用户;
- -p:保留源文件或目录的属性;
拷贝目录时要加参数 -r
文件则不需要
注意:mv的语法不仅可以对目录进行重命名而且也可以对各种文件,压缩包等进行 重命名的操作
文件相关操作
创建
touch 文件名
删除
rm 文件 删除当前目录下的文件
rm -f 文件 删除当前目录的的文件(不询问)
rm -rf * 将当前目录下的所有目录和文件全部删除
vi
i,o,a进入插入模式
保存并退出: wq
退出编辑: q
强制退出: q!
删除当前行:dd
修改文件权限
-r :可读 -w:可写 -x:可执行
chmod 权限代数 文件名
文件打包,压缩,解压
常见文件格式
rpm 是安装包
.tar 打包文件
.gz 压缩文件
.tar.gz 打包并压缩的文件
打包和压缩,解压
Linux中的打包文件一般是以.tar结尾的,压缩的命令一般是以.gz结尾的。 而一般情况下打包和压缩是一起进行的,打包并压缩后的文件的后缀名一般.tar.gz。
命令:tar -zcvf 打包压缩后的文件名 要打包的文件
z:调用gzip压缩命令进行压缩
c:打包文件
v:显示运行过程
f:指定文件名
示例:打包并压缩/usr/tmp 下的所有文件 压缩后的压缩包指定名称为xxx.tar
tar -zcvf ab.tar aa.txt bb.txt
或:tar -zcvf ab.tar *
解压
命令:tar [-zxvf] 压缩文件 x:代表解压
tar -zxfv 压缩包
tar -xvf 路径/压缩包 -C 指定目录 C:代表解压到指定的位置 将路径下的压缩包解压到根目录指定目录下
查找命令
目录,文件查找
find 目录 参数 文件名称
find /usr/local -name 'k*' 查找/usr/local目录下的所有以k开头的目录或文件
cat 查看文件最后一屏内容
cat 文件路路径
more:百分比显示
使用more查看/etc/sudo.conf文件,可以显示百分比,回车可以向下一行,空格可以向下一页,q可以退出查看
more sudo.conf
whereis 文件 将文件和所在路径都查找出来
which命令的作用是在PATH变量指定的路径中,搜索某个系统命令的位置,并且返回第一个搜索结果。
which pwd 查找pwd命令所在路径
which java 查找path中java的路径
1.配置网络
相关命令和操作
帮助命令
查看命令
ls :显示出该目录下文件名或目录
(ls /目录:查看指定目录,下同)
ls -l/ll:显示出该目录下所有文件的详细信息
(ll:不属于命令,是快捷方式)
ls -al :显示出该目录下所有文件的详细信息(会显示隐藏文件)
vi编译器
按‘’i/o/a''进入插入模式
wq:存盘退出 !q:不存盘退出 q!:强制退出
ifconfig
查看,启动,关闭网络接口(网卡)和临时修改网络接口
查看所有已开启的网络接口:ifconfig
查看所有网络接口(包括未启用接口):ifconfig -a
启动:ifconfig eth() up
关闭:ifconfig eth() down
临时修改网卡信息:ifconfig ens() (IPADDR) netmask (255.255.255.0)
配置网络参数
进入配置文件目录—》进入系统配置文件目录—》进入网络脚本文件
cd,cd....cd ,vi (逐步进行)
vi
/etc/sysconfig/network-scripts/ifcfg-ens() (一步到位进行修改)
系统配置 网络脚本 网卡文件
“2改3加”:
BOOTROTO=static (设置静态IP,相当于手动设置IP)
(DHCP:自动获得服务器分配的IP地址和子网掩码)
ONBOOT=yes(开机自动打开网卡)
IPADDR="IP地址" (最后一个要和物理机不一样)
NETMASK=掩码(255.255.255.0)
GATEWAY=默认网关
!若是桥接模式则掩码和默认网关必须和物理机一样
存盘退出
重启网络服务
service network restart / systemctl restart network
配置域名服务(DNS)
vi /etc/resolv.conf 进入域名服务配置文件
nameserver 114.114.114.114
systemctl restart NetworkManager 重启域名服务
2.管理磁盘
磁盘文件相关信息
设备文件格式:/dev/xxyn
xx :硬盘接口类型(一般为sd)
y :使用此类接口的第几个硬盘(a-z)
n :分区号(主分区/扩展分区用1-4表示,逻辑分区从5开始)
查看所有磁盘详细信息
fdisk -l
操作
添加硬盘
进入磁盘交互模式进行分区
fdisk /dev/磁盘名
n :创建新分区—>p:选择创建主分区
d :删除某个分区 p :查看分区信息
选择分区号
起始额度(可默认)
截止额度
w :存盘退出
格式化分区
fdisk -t ext4 /dev/硬盘分区
挂载分区到相应目录
创建文件系统(目录)
mount /dev/硬盘分区 /创建的目录 挂载到创建的目录
mount 查看挂载信息
*对第一个分区进行处理系统会默认对其剩下分区进行相关操作
*分区只是在硬盘做标志信息,格式化后挂载(建立文件系统)才会生效
3.软件安装
安装软件的三种方法:
1.编译安装源码包(tar-)
2.rpm(本地安装)
3.yum(在线安装)
rpm和yum的区别
rpm 只能安装已经下载到本地机器上的rpm 包.
yum能在线下载并安装rpm包,能更新系统,且还能自动处理包与包之间的依赖问题,这个是rpm 工具所不具备的。
从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软体包,无须繁琐地一次次下载、安装,
可以完整的删除软件
rpm:删除指定的一个
yum:删除与之相关联的全部安装包
rpm安装,卸载
安装
命令格式:rpm -vih 包名
卸载
命令格式:rpm -e 包名
常用参数
-i, --install :安装
-v :选项显示详细信息
-h 选项:hash marks输出进度条;每个#表示2%的进度
-vv:显示更详细的信息
–nodeps:忽略依赖关系;不建议
–force 属性,强制进行安装
-U, --update :升级
–force :强制升级,强制进行安装
-e, --erase :卸载
-q, --query:查询
-l:显示套件的文件列表
-a,–all:查询所有已经安装过的程序包,可配合grep使用
-V, --verify :校验
–builddb, --initdb:数据库维护
yum安装,卸载
安装
命令格式:yum install -y 包名
卸载
命令格式: yum -y remove 包名
常用参数
-y:当安装,卸载过程提示选择全部为"yes"
-q:不显示安装的过程
wget 下载地址
安装MySQL
获取安装包进行安装
wget 链接
rpm
安装MySQL服务器
yum install -y mysql-server
MySQL服务相关操作
systemctl start mysqld 开启MySQL服务
ps -aux|grep mysqld 查看后台MySQL是否运行
systemctl enable mysqld 设置开机自启
登录MySQL
获取初始密码
cat /var/log/mysqld.log|grep 'A temporary password'
登录
mysql -u root -p
修改密码
use mysqld; 切换MySQL数据库
alter user 'root'@'localhost' identified by 'py.123456'
修改 用户 管理员 本地服务器 登陆密码
安装Java
查看是否存在java安装包(可略)
筛选
rpm -aq|grep java
删除不需要的版本
下载JavaJDK
下载JDK地址:ww.oracle.com
解压并存放放到指定位置
拖动至Linux系统内,去掉引号
创建目录-移动-解压 / 解压并移动
mkdir 目录名
mv 现在的位置 新位置
tar [-zxvf] 压缩文件 x:解压 zxvf顺序不能乱,否则报错
也可在解压到指定位置
tar -xvf 压缩文件 -C 解压后存放的位置 C:解压到指定位置
配置环境变量
copy Java路径
export JAVA_HOME=
/usr/java/jdk1.8.0_291-amd64 export:声明为全局变量
export PATH=$PATH:$JAVA_HOME/bin
export CALSSPATH=.:$JAVA_HOME/lib
解释
JAVA_HOME环境变量:jdk的安装路径 Eclipse/NetBeans/Tomcat等软件就是通过搜索JAVA_HOME变量来找到并使用安装好的jdk。
PATH环境变量。作用是指定命令搜索路径,在shell下面执行命令时,它会到PATH变量所指定的路径中查找看是否能找到相应的命令程序。我们需要把 jdk安装目录下的bin目录增加到现有的PATH变量中,bin目录中包含经常要用到的可执行文件如javac/java/javadoc等待,设置好 PATH变量后,就可以在任何目录下执行javac/java等工具了。
CLASSPATH环境变量。作用是指定类搜索路径,要使用已经编写好的类,前提当然是能够找到它们了,JVM就是通过CLASSPTH来寻找类的。我们 需要把jdk安装目录下的lib子目录中的dt.jar和tools.jar设置到CLASSPATH中,当然,当前目录“.”也必须加入到该变量中。
重启系统环境配置文件
source /etc/profile
配置成功后无论在哪里都可以调用java(会显示版本信息)
若修改profile文件时覆盖了原PATH路径,解决方法:
输入命令:export PATH=
/usr/bin:/usr/sbin:/bin:/sbin 后,将原PATH变量修改回来即可
检测是否安装成功:java -version
#
安装,配置Hadoop
主要用来数据的存储(DHFS:分布式文件系统) 和 分布式计算(MapReduce)(并行运算)
MapReduceMapReduce_百度百科 (baidu.com)
HDFShdfs_百度百科
hadoop核心模块
common: 为其他Hadoop模块提供基础服务
HDFS: 高吞吐量的分布式文件系统
提供数据的存储(namenode,DataNode)
MapReduce: 分布式的离线并行计算框架
YARN: 负责任务调度和资源管理(CPU,内存)
管理集群各个机器的资源,并合理调度分配给各个程序使用
NameNode
NameNode属于HDFS,它位于HDSF的主端,由它来指导DataNode执行底层I/O任务。NameNode相当于HDFS的书记员,它会跟踪文件如何被分割成文件块,而这些块又是被哪些节点存储,以及分布式文件系统整体运行状态是否正常等。
运行NameNode会消耗大量内存和IO资源,因此为减轻机器负载,驻留NameNode的服务器通常不会存储用户数据或者进行MapReduce计算任务,这也就意味着一台NameNode服务器不会同时是DataNode或者TaskTracker服务器。
DataNode
集群中每一个从节点都会驻留一个DataNode的守护进程,用来将HDFS数据库写入或读取到本地文件系统中。当对HDFS文件进行读写时,文件会被分割成多个块,有NameNode告知客户端每个数据驻留在哪个DataNode,客户端直接与DataNode进行通信,DataNode还会与其它DataNode通信,复制这些块以实现冗余。
NameNode跟踪源数据,DataNode提供数据块的备份存储并持续不断地向NameNode报告,以保持元数据最新状态
安装hadooop
编译安装—>解压—>/usr/local/hadoop
检测是否安装成功:hadoop version
Hadoop环境配置
修改Hadoop环境变量文件
vi
/usr/local/hadoop/etc/hadppp/hadoop-env.sh(Hadoop的环境变量配置文件)
export JAVA_HOME=java的路径(修改内容)
修改系统环境变量
重启系统环境配置文件
source /etc/profile
配置两个核心文件
common模块的配置文件--core-site.xml
core-site.xml 加2个属性
#指定文件为hdfs,以及namenode主节点运行机器和端口
<configuration> (配置模块)
<property> 属性1
<name>fs.defaultFS</name> 指明hdfs中namenode的名字
<value>hdfs://localhost:9000</value> 指明hdfs中namenode的地址
本地主机名(localhost)
</property>
#指定hdfs文件系统本地存储目录(自己提前创建),默认的是/tmp,不安全
<property> 属性2
<name>hadoop.tmp.dir</name> 指明Hadoop运行时产生文件的存储路径的名字
<value>hadoop目录/tmp</value> 指明存储路径
</property>
</configuration>
/tmp是一个特殊的文件夹,系统会自动清理(10天前的)
hdfs模块的配置文件--hdfs-site.xml
hdfs-site.xml 加3个属性
<configuration> 配置模块
<property> 属性1
<name>dfs.name.dir</name> 存储元数据的位置名字(指示存储位置)
<value>hadoop目录/name</value> 位置
</property>
<property> 属性2
<name>dfs.data.dir</name> 存储数据的位置名字
<value>hadoop目录/hdfs/data</value> 位置
</property>
<property> 属性3
<name>dfs.replication</name> 副本属性(备份)
<value>1</value> 份数
</property>
</configuration>
“元数据(Metadata)描述数据的数据,存储数据的相关信息。(大小,类型,位置等等)
为描述数据的数据(data about data)
主要是描述数据属性(property)的信息,用来支持如指示存储位置、历史数据、资源查找、文件记录等功能。
replication:复制
hadoop ssh免密登录
ssh-keygen -t dsa -p '' -f ~/.ssh/id_dsa
-t 生成密匙类型dsa -P ' ' 密码为空 -f 指定生成公匙和私匙的文件名
76 ssh-keygen -t dsa -p '' -f ~/.ssh/id_dsa 77 ssh-keygen 78 cat ~/.ssh/id_dsa.ppi 79 cat ~/.ssh/id_dsa.pub >>~/.ssh/authorized_keys 80 ls ~/.ssh 81 ll ~/.ssh 82 chmod 600 ~/ 83 chmod 600 ~/.ssh/authorized_keys 84 ll ~/.ssh 66 cat /etc/profile 67 cd /usr/hadoop-2.10.1 68 ./bin/hdfs namenode -format 69 ./sbin/start-dfs.sh 70 ifconfig-ens33 71 ifconfig -ens33 72 ifconfig
格式化
cd /usr/hadoop-2.10.1
./sbin/start-dfs.sh
远程文件发送
ssh-copy-id -i id_rsa.pub root@192.168.182.129
-i 选择文件 发送 root用户@主机名(ip)
4.shell编程
vi 文件名 直接创建文件并进行修改
输入语句
#! /bin/bash
read -p 'input name:' name
运行结果:
input name:
#!是一个约定的标记,它告诉系统这个脚本需要什么解释器来执行,即使用哪一种 shell;
后面的/bin/bash就是指明了解释器的具体位置。
Shell 脚本中所有以#开头的都是注释(当然以#!开头的除外)。
输出语句
echo $name
echo:回响,打印
echo 字符或已赋值变量$name
echo打印已声明变量前要加$,否则打印的是当前字符
文件运行命名格式
文件路径 /文件名
定义,调用函数
#! /bin/bash
function add()
{
sum=$[$1+$2]
echo $sum
}
read -p 'input number1:' num1
read -p 'input bunber2:' num2
add $num1 $num2
bash 文件名 以可执行身份强制执行文件(无执行权限的文件)
批量添加用户
循环结构 批量添加用户
#! /bin/bash
groupadd student
for i in 'xiaowang' 'zhangsan' 'wangwu' 'jiangcheng' 'pig'
do
useradd -g student $i
echo '123456'|passwd --stdin $i
done
do~done构成循环体
执行结果
统计数据
分支,判断语句
统计目录,文件数
#! /bin/bash
fnum=0
dnum=0
total=0
for i in `ls`
do
if [ -d $i ]
then
dnum=`expr $dnum + 1`
else
fnum=`expr $dnum + 1`
fi
total=`expr $total + 1`
done
echo directory:$dnum
echo file:$fnum
echo total:$total
执行结果:
directory:0
file:1
total:7
关闭防火墙
systemctl命令是Linux系统服务管理器命令,由service和chkconfig命令组合而来 system:系统 ctl->control:控制—>系统控制
systemctl stop c (暂时)
systemctl disable firewalld (永久开机自动关闭)(禁用)
systemctl status firewalld (查看状态)
最好也把selinux关闭掉,这是linux系统的一个安全机制,进入文件中将SELINUX设置为disabled
vi /etc/selinux/config
SELINUX=disabled
hadooop:HDFS/mapreduce
Linux中使用id命令可以查看用户的大多数信息。具体使用方法请参看上一关的实训。
Linux中还可以通过查看/etc/passwd文件来获取用户的信息。具体方法可以参考背景知识。
Linux中还可以使用finger命令来查询用户的信息。
注意:Ubuntu系统中默认没有安装finger命令,用户可以通过以下命令来安装finger,然后就可以使用finger。
sudo apt-get install finger
具体使用方法如下:
命令格式:finger [命令参数] 参数
常见命令参数
-l:多行显示;
-s:单行显示。这个选项只显示登入名称、真实姓名、终端机名称、闲置时间、登入时间、办公室号码及电话号码。如果所查询的使用者是远端服务器的使用者,这个选项无效。
案例演示:
使用finger命令查看用户信息。
例如,查看系统中已经存在的用户newUser信息。
Linux用户信息修改命令
Linux 中usermod命令是最强大的用户账户修改实用工具。
usermod命令我们在上一关只是简单的用到其-g、-G参数对用户的所属组进行修改,本关我们将进一步使用usermod命令的其它属性进行修改更多的属性。
命令格式:usermod [命令参数] 参数
常见命令参数:
-c<备注>:修改用户帐号的备注文字;
-d<登入目录>:修改用户登入时的目录;
-e<有效期限>:修改帐号的有效期限;
-f<缓冲天数>:修改在密码过期后多少天即关闭该帐号;
-g<群组>:修改用户所属的群组;
-G<群组>;修改用户所属的附加群组;
-l<帐号名称>:修改用户帐号名称;
-L:锁定用户密码,使密码无效;
-s:修改用户登入后所使用的shell;
-u:修改用户ID;
-U:解除密码锁定。
usermod必须以root权限才能执行,如果是普通用户想使用该命令时,需要在命令前加sudo命令来提升权限为root权限。
- 上一篇:Linux基本使用
- 下一篇:Linux man 命令使用教程
相关推荐
- Redis内存这样优化,性能炸裂(redis内存占用和优化)
-
一、背景使用过Redis的同学应该都知道,它基于键值对(key-value)的内存数据库,所有数据存放在内存中,内存在Redis中扮演一个核心角色,所有的操作都是围绕它进行。我们在实际维护过...
- 一文带你详解Nginx/OpenResty,Nginx Lua编程基础,学不会别怪我
-
NginxLua编程基础OpenResty通过汇聚各种设计精良的Nginx模块(主要由OpenResty团队自主开发)将Nginx变成一个强大的通用Web应用平台。这样,Web开发人员和系统工程师可...
- 你真的懂Spring Cloud+Nginx秒杀实战,Nginx高性能秒杀和限流吗?
-
Nginx高性能秒杀和限流从性能上来说,内部网关Zuul限流理论上比外部网关Nginx限流的性能会差一些。和Zuul一样,外部网关Nginx也可以通过Lua脚本的形式执行缓存在Redis内部的令牌桶限...
- 在群晖NAS上搭建网站的完整指南(群晖nas部署)
-
群晖NAS不仅可以存储数据,还能作为功能完善的网站服务器使用。以下是搭建网站的详细步骤:一、准备工作确认NAS型号:确保您的群晖NAS支持WebStation(大多数x86机型都支持)域名准备(可选...
- tomcat+redis+nginx的session共享
-
上两节中,我们使用nginx+tomcat+memcached+MSM实现session共享,如何有需要对nginx负载均衡方面的知识需要了解的话,可以关注我的头条号:一点热。然后阅读之前的文章。同时...
- 终于靠这篇文章学透了Nginx/OpenResty详解,NginxLua编程
-
NginxLua编程经过合理配置,Nginx毫无疑问是高性能Web服务器很好的选择。除此之外,Nginx还具备可编程能力,理论上可以使用Nginx的扩展组件ngx_lua开发各种复杂的动态应用。不过...
- 从需求到上线:PHP+Uniapp校园圈子系统源码的架构设计与性能优化
-
一、需求分析与架构设计1.核心功能需求用户体系:支持手机号/微信登录、多角色权限(学生、教师、管理员)。圈子管理:支持创建/加入兴趣圈子(如学术、电竞)、标签分类、动态发布与审核。实时互动:点赞、评...
- 六星教育PHP大神进阶班怎么样?值不值得去听?
-
点进这篇文章的人可能现在正面临着几个很难选择的问题,比如学PHP要不要报培训班?或者是该怎样选择PHP课程?又或是六星教育的PHP大神进阶班好不好,能不能去?在这里就给你们都一个一个解答了!首先,要...
- Centos8搭建Java环境(JDK1.8+Nginx+Tomcat9+Redis+Mysql)
-
一、开篇1.1目的每次换新的服务器,都要找资料配下环境,所以我写这篇文章,重新梳理了一下,方便了自己,希望也能给大家带来一些帮助。安装的软件有:JDK1.8+Nginx+Tomcat9+...
- PHP游戏陪玩APP小程序家政系统项目复盘:从需求分析到上线运维
-
一、需求分析阶段1、核心功能模块用户模块:支持用户注册、登录、身份认证(区分陪玩师与普通用户)、个人信息管理。订单模块:实现下单、接单、订单状态流转(待支付、进行中、已完成、已取消)的全流程管理。技能...
- 我采访了一位 Pornhub 工程师,聊了这些纯纯的话题
-
成人网站在推动Web发展方面所起到的作用无可辩驳。从突破浏览器的视频能力限制,到利用WebSocket推送广告(防止被广告拦截器拦截),你必须不断想出各种聪明的办法,让自己处在Web技术创...
- 硬核拆解:如何用Redis+Nginx打造高可用网关集群?
-
在云原生架构中,API网关作为流量中枢,其部署架构常采用无状态节点+集群化设计,前端通过F5或Nginx实现四层/七层负载均衡。数据库可选用Oracle或MySQL,结合Redis实现分布式缓存,例如...
- 无技术门槛,轻松搞定一个好用的企业网盘——可道云teamOS
-
在数字化时代,企业数据的共享与协作是企业快速发展的关键。但是对于没有专业技术人员的企业来说,搭建一个企业网盘实在是有点复杂。有此困扰的公司,不妨试一下可道云teamOS。能一键搭建的网盘系统teamO...
- Docker安装及mysql、redis实战(dockerfile安装redis)
-
1.Docker安装确定CentOS7及以上版本cat/etc/redhat-release卸载旧版本yumremovedocker\docker-client\docker-clien...
- 云原生(十七) | Kubernetes 篇之深入了解 Deployment
-
深入了解Deployment一、什么是Deployment一个Deployment为Pods和ReplicaSets提供声明式的更新能力。你负责描述Deployment中的目标状...
- 一周热门
- 最近发表
-
- Redis内存这样优化,性能炸裂(redis内存占用和优化)
- 一文带你详解Nginx/OpenResty,Nginx Lua编程基础,学不会别怪我
- 你真的懂Spring Cloud+Nginx秒杀实战,Nginx高性能秒杀和限流吗?
- 在群晖NAS上搭建网站的完整指南(群晖nas部署)
- tomcat+redis+nginx的session共享
- 终于靠这篇文章学透了Nginx/OpenResty详解,NginxLua编程
- 从需求到上线:PHP+Uniapp校园圈子系统源码的架构设计与性能优化
- 六星教育PHP大神进阶班怎么样?值不值得去听?
- Centos8搭建Java环境(JDK1.8+Nginx+Tomcat9+Redis+Mysql)
- PHP游戏陪玩APP小程序家政系统项目复盘:从需求分析到上线运维
- 标签列表
-
- linux 远程 (37)
- u盘 linux (32)
- linux 登录 (34)
- linux 路径 (33)
- linux 文件命令 (35)
- linux 是什么 (35)
- linux 界面 (34)
- 查看文件 linux (35)
- linux 语言 (33)
- linux代码 (32)
- linux 查看命令 (33)
- 关闭linux (34)
- root linux (33)
- 删除文件 linux (35)
- linux 主机 (34)
- linux与 (33)
- linux 函数 (35)
- linux .ssh (35)
- cpu linux (35)
- linux 防火墙 (33)
- linux 镜像 (34)
- linux ip地址 (34)
- linux 用户查看 (33)
- nginx配置 解析 (37)
- nginx 频率限制 (34)