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 🙂
觉得对你有帮助,就给我打赏吧,谢谢!