Linux笔记
本文环境 PHP7.3,Laravel6.0 不懂的可以评论或联系我邮箱:owen@owenzhang.com 原文:https://blog.csdn.net/qq_38350907/article/details/107354178
查看centos版本
cat /etc/redhat-release
查看某端口的进程
lsof -i:55571
host文件
sudo vim /etc/hosts
查看cpu核数:
cat /proc/cpuinfo | grep ‘process’ | sort | uniq | wc -l
or
lscpu
查看内存总容量
cat /proc/meminfo
查看硬盘总容量
df -hl
显示:
文件系统    容量    已用    可用    已用%
挂载点     Filesystem  Size    Used    Avail    Use%
Mountedon   /dev/hda2   45G    19G     24G     44%
/        /dev/hda1    494
其他磁盘相关命令:
du -h --max-depth=1  查看各文件夹大小(这个命令要记住,经常用)
df -hl 查看磁盘剩余空间
df -h 查看每个根路径的分区大小
du -sh [目录名] 返回该目录的大小
du -sm [文件夹] 返回该文件夹总M数
du -h [目录名] 查看指定文件夹下的所有文件大小(包含子文件夹)
查看硬盘的分区 #sudo fdisk -l
查看IDE硬盘信息 #sudo hdparm -i /dev/hda
查看STAT硬盘信息 #sudo hdparm -I /dev/sda 或 #sudo apt-get install blktool #sudo blktool /dev/sda id
查看硬盘剩余空间 #df -h #df -H
查看目录占用空间 #du -hs 目录名
pro、pre、test、dev环境
- pro环境:生产环境,面向外部用户的环境,连接上互联网即可访问的正式环境。
- pre环境:灰度环境,外部用户可以访问,但是服务器配置相对低,其它和生产一样。
- test环境:测试环境,外部用户无法访问,专门给测试人员使用的,版本相对稳定。
- dev环境:开发环境,外部用户无法访问,开发人员使用,版本变动很大。
Ubuntu 忘记root用户密码
sudo passwd root
php-fpm重启
stop status  enable reload
systemctl restart php-fpm
systemctl restart php-fpm-81
service mysqld restart查看php进程
ps aux | grep php
Linux 监控搭建方案
grafana+prometheus+node_exporter+mysql_exporter+redis_exporter 具体细节百度
Nginx 防压力测试
直接简单的方法限制同一个IP的并发最大为10 在nginx.conf编辑启用流量/IP/并发限制
vim nginx.conf
limit_conn_zone $binary_remote_addr zone=perip:10m; # 启用IP限制
limit_conn_zone $binary_remote_addr zone=one:10m; # 启用并发限制
limit_conn_zone $server_name zone=perserver:10m; 然后在要防止的网站配置
limit_conn perserver 300; # 并发限制
limit_conn perip 25; # 单IP限制
limit_rate 512k; # 流量限制其他
- 只要僵尸没有通过等待从系统中删除,它就会占用内核进程表中的一个插槽,如果这个表填满,就不可能创建进一步的进程。
吞吐量
当并发量(吞吐量)上涨的时候,系统会变得越来越不稳定,响应时间的波动也会越来越大,响应时间也会变得越来越慢,而吞吐率也越来越上不去(如下图所示),包括CPU的使用率情况也会如此。所以,当系统变得不稳定的时候,吞吐量已经没有意义了。吞吐量有意义的时候仅当系统稳定的时候。

所以,吞吐量的值必需有响应时间来卡。比如:TP99小于100ms的时候,系统可以承载的最大并发数是1000qps。这意味着,我们要不断的在不同的并发数上测试,以找到软件的最稳定时的最大吞吐量。
查看ubuntu系统的版本信息
命令如下:
cat /proc/version返回结果:
Linux version 4.4.0-30-generic (buildd@kissel)   linux内核版本号
gcc version 5.4.2              gcc编译器版本号
Ubuntu 20.04.3-17ubuntu1         Ubuntu版本号重启ubuntu系统
命令如下:
reboot普通用户切换到root用户
命令如下:
sudo su返回结果:
owenunix@DESKTOP-CC1MK5I:~$ sudo su    owenunix@普通用户名为owenunix
[sudo] password for owenunix:          输入密码 
root@DESKTOP-CC1MK5I:/home/owenunix#   root@已切换到root用户root用户切换到普通用户
命令如下:
su 用户名
e.g., su owenunix返回结果:
root@DESKTOP-CC1MK5I:/home/owenunix# su owenunix  切换到普通用户为owenunix
owenunix@DESKTOP-CC1MK5I:~$       查看ip
输入 ifconfig 查看ip 在虚拟机外访问也能看到
查看Linux系统版本
lsb_release -a
文件
删除文件夹 rm -rf test 创建文件夹 mkdir test
修改文件夹名称 mv test Test
修改文件名称 sudo mv test.txt new.txt
复制文件 cp /www/docker.yml /opt/
复制目录到指定目录下 cp -r /work/zjrx/public /work/zjrx/www/as2/
创建文件 touch laravel-2023-04-14.log
zip
如果在我们在 /home/html 目录下,可以执行以下命令:
zip -q -r html.zip *
复制代码压缩
从压缩文件 cp.zip 中删除文件 a.c
zip -dv cp.zip a.c
复制代码将 /home/html/ 这个目录下所有文件和文件夹打包为当前目录下的 html.zip:
zip -q -r html.zip /home/html
复制代码nginx配置文件目录
cd /etc/nginx/conf.d
cat /etc/nginx/nginx.conf
复制代码![]()” alt=”” title=”点击并拖拽以移动” />
php-fpm配置文件
/etc/php-fpm.d/www.conf
复制代码PHP配置文件
vi /etc/php.ini
复制代码![]()” alt=”” title=”点击并拖拽以移动” />
enable status start restart stop
systemctl restart nginx
mysql
php-fpm
crond
sshd.service
version
复制代码端口
查看端口使用情况
netstat -napt
netstat -an | grep 16010
复制代码查看防火墙状态 systemctl status firewalld
开启防火墙 systemctl start firewalld
开机启动防火墙 systemctl enable firewalld
关闭防火墙 systemctl stop firewalld
重启防火墙 service firewalld start
若遇到无法开启 先用:systemctl unmask firewalld.service 然后:systemctl start firewalld.service
查询指定端口是否已开
firewall-cmd --query-port=666/tcp
复制代码![]()” alt=”” title=”点击并拖拽以移动” />
开放端口保存
添加指定需要开放的端口:
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --zone=public --add-port=443/tcp --permanent
复制代码![]()” alt=”” title=”点击并拖拽以移动” />
重载入添加的端口:
firewall-cmd --reload
复制代码![]()” alt=”” title=”点击并拖拽以移动” />
查询指定端口是否开启成功:
firewall-cmd --query-port=123/tcp
复制代码![]()” alt=”” title=”点击并拖拽以移动” />
移除端口
移除指定端口:
firewall-cmd --permanent --remove-port=123/tcp
复制代码![]()” alt=”” title=”点击并拖拽以移动” />
查询开放的防火墙列表
firewall-cmd --zone=public --list-ports
复制代码![]()” alt=”” title=”点击并拖拽以移动” />
安全日志
cat var/log/secure
Linux常用命令之chmod修改文件权限777和754
示例:chmod 777 /etc/squid 运行命令后,squid文件夹(目录)的权限就被修改为777(可读可写可执行)。
查看文件内容
cat 20.log
查看PHP运行进程
ps aux|grep php
终止运行进程
sudo kill -9 11621
运行 pidstat 来看一下进程的情况
pidstat -u 5 1
每次发现系统变慢时,我们通常做的第一件事,就是执行 top 或者 uptime 命令,来了解系统的负载情况
全局模糊查找文件夹名称
find / -name ‘nginx‘
centos 更改清华源
sudo cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak
复制代码LINUX tar解压到指定目录
tar xf csdn.tar -C /home/quantum6/work
解压当前目录 tar -xzf nginx-1.23.3tar.gz
删除文件夹
rm -rf /var/log/httpd/access
vmstat 是一个常用的系统性能分析工具
vmstat 是一个常用的系统性能分析工具,主要用来分析系统的内存使用情况,也常用来分析 CPU 上下文切换和中断的次数。
# 每隔5秒输出1组数据
$ vmstat 5
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 0  0      0 7005360  91564 818900    0    0     0     0   25   33  0  0 100  0  0
复制代码![]()” alt=”” title=”点击并拖拽以移动” />
cs(context switch)是每秒上下文切换的次数。
in(interrupt)则是每秒中断的次数。
r(Running or Runnable)是就绪队列的长度,也就是正在运行和等待 CPU 的进程数。
b(Blocked)则是处于不可中断睡眠状态的进程数。
# 每隔1秒输出1组数据(需要 Ctrl+C 才结束)
# -w参数表示输出进程切换指标,而-u参数则表示输出CPU使用指标
$ pidstat -w -u 1
08:06:33      UID       PID    %usr %system  %guest   %wait    %CPU   CPU  Command
08:06:34        0     10488   30.00  100.00    0.00    0.00  100.00     0  sysbench
08:06:34        0     26326    0.00    1.00    0.00    0.00    1.00     0  kworker/u4:2
08:06:33      UID       PID   cswch/s nvcswch/s  Command
08:06:34        0         8     11.00      0.00  rcu_sched
08:06:34        0        16      1.00      0.00  ksoftirqd/1
08:06:34        0       471      1.00      0.00  hv_balloon
08:06:34        0      1230      1.00      0.00  iscsid
08:06:34        0      4089      1.00      0.00  kworker/1:5
08:06:34        0      4333      1.00      0.00  kworker/0:3
08:06:34        0     10499      1.00    224.00  pidstat
08:06:34        0     26326    236.00      0.00  kworker/u4:2
08:06:34     1000     26784    223.00      0.00  sshd
复制代码![]()” alt=”” title=”点击并拖拽以移动” />
一个是 cswch ,表示每秒自愿上下文切换(voluntary context switches)的次数,另一个则是 nvcswch ,表示每秒非自愿上下文切换(non voluntary context switches)的次数。
ab测压
curl访问接口地址
curl 127.0.0.1:9501
每秒1万次请求
ab -k -c 100 -n 10000 http://127.0.0.1:9501/
centos7下修改hosts文件
vi /etc/hosts
重启网络模块生效,重启命令如下,无需重启操作系统 systemctl restart network
或
/etc/init.d/network restart
CentOS7安装Git
sudo yum install -y git
CentOS7安装ad
sudo yum -y install httpd-tools
Buy me a cup of coffee 🙂
觉得对你有帮助,就给我打赏吧,谢谢!

