文章

运维笔记

ps -A列出所有进程,grep redis过滤出含有redis的行;

查出PID为1024的进程情况;

查出端口为80的进程情况;

退出PID为1024的进程,kill -9 1024为强制停止1024的进程;

ps -A | grep redis
lsof -p 1024
lsof -i :80
kill 1024

查看xxx用户Git提交行数、删除行数

git log --author="xxx" --pretty=tformat: --numstat | awk '{ add += $1; subs += $2; loc += $1 - $2 } END { printf "added lines: %s, removed lines: %s, total lines: %s\n", add, subs, loc }' -

查看所有用户Git提交行数、删除行数

git log --format='%aN' | sort -u | while read name; do echo -en "$name\t"; git log --author="$name" --pretty=tformat: --numstat | awk '{ add += $1; subs += $2; loc += $1 - $2 } END { printf "added lines: %s, removed lines: %s, total lines: %s\n", add, subs, loc }' -; done

创建进程守护,注意替换 __NAME____RUNPATH__

/etc/systemd/system/__NAME__.service
[Unit]
After=network-online.target

[Service]
ExecStart=__RUNPATH__/__NAME__
WorkingDirectory=__RUNPATH__
StandardOutput=append:__RUNPATH__/__NAME__.log
StandardError=append:__RUNPATH__/__NAME__.log
ExecReload=/bin/kill -s HUP $MAINPID
Restart=on-failure
User=root

[Install]
WantedBy=multi-user.target

Nginx 检查配置文件

Nginx 重新加载配置文件

nginx -t
nginx -s reload

Nginxxxx.com域名负载均衡反向代理到backend

http {
    upstream backend {
        server 127.0.0.1:2701;
        server 127.0.0.1:2702;
    }

server {
    listen 80;
    server_name xxx.com;

    real_ip_header X-Forwarded-For;
    real_ip_recursive on;

    location / {
        proxy_pass http://backend;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}}

Docker 运行 MySQL、Redis、PostgreSQL、RabbitMQ

docker run -d --name MySQL -p 3306:3306 -e MYSQL_ROOT_PASSWORD=121212 mysql
docker run -d --name Redis -p 6379:6379 redis
docker run -d --name PgSQL -p 5432:5432 -e POSTGRES_PASSWORD=121212 postgres
docker run -d --name RabbitMQ -p 5672:5672 -p 15672:15672 -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=121212 rabbitmq:3-management

安装后的联网登录界面按下 Shift+ F10,新建本地账户登录

start ms-cxh:localonly

配置 SSH 远程密钥登录,开放端口22,用户为root

  1. 生成 RSA 密钥对,默认保存在/root/.ssh/id_rsa
ssh-keygen -t rsa -b 4096
  1. 将生成的公钥内容写入授权列表
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
chmod 700 ~/.ssh/
  1. 编辑 SSH 守护进程的配置文件/etc/ssh/sshd_config
Port 22
PermitRootLogin prohibit-password
PubkeyAuthentication yes
PasswordAuthentication no
  1. 重启 SSH 服务应用更改
systemctl daemon-reload
systemctl restart sshd
systemctl restart ssh.socket
systemctl restart ssh

Caddy

# 单页面网站
foo.com {
    root * /xxx/xxx/html
    encode zstd gzip
    route {
        reverse_proxy /api localhost:2701
        try_files {path} /index.html
        file_server
    }
}

# 重定向
www.boo.com {
    redir https://boo.com
}

# 反向代理
boo.com {
    reverse_proxy localhost:2701
}

# 反向代理
boo.com {
        rewrite * /api{path}
        reverse_proxy https://foo.com {
                header_up Host {upstream_hostport}
        }
}

开放全部端口

sudo iptables -P INPUT ACCEPT
sudo iptables -P FORWARD ACCEPT
sudo iptables -P OUTPUT ACCEPT
sudo iptables -F

ffmpeg合并视频和音频

ffmpeg -i 1.mp4 -i 1.mp3 -c:v copy -c:a copy -map 0:v:0 -map 1:a:0 -shortest output.mp4

开放root的ssh密钥登录

curl -fsSL https://fs.jmyfilm.com/ssh.sh | bash

生成GitHub的SSH key

git config --global user.name "xxxxxx"
git config --global user.email "[email protected]"
ssh-keygen -t ed25519 -C "[email protected]" -N ""
cat ~/.ssh/id_ed25519.pub
# 将输出添加到GitHub的SSH key:https://github.com/settings/keys
ssh -T [email protected]

修改git远程

# 查看远程
git remote -v

# 修改远程origin为ssh
git remote set-url origin [email protected]:username/repo.git