Category: Development

Frp 反向代理

项目简介

https://github.com/fatedier/frp | https://github.com/fatedier/frp/releases

frp 是一个可用于内网穿透的高性能的反向代理应用,支持 tcp, udp 协议,为 http 和 https 应用协议提供了额外的能力,且尝试性支持了点对点穿透。

准备工作

  • 公网ip服务器(阿里云、腾讯云等) - 服务端
  • 内网服务器 - 客户端
  • frp

服务端安装

frps.ini是服务端的配置文件,这是一个简化版本,只包含了必须的配置项。 其余的配置项在frps_full.ini中,可以根据自己的需要在frps.ini中添加。

配置完成后可以使用命令直接运行

./frps -c ./frps.ini

自动启动

frp的软件包中已经包含了systemd启动脚本,如果你不想修改脚本的话,可以直接将文件放到对应的位置,并将systemd启动脚本放到/lib/systemd/system即可。

# 下载文件
wget https://github.com/fatedier/frp/releases/download/v0.29.1/frp_0.29.1_linux_amd64.tar.gz

# 解压
tar zxvf frp_0.29.1_linux_amd64.tar.gz

mv frp_0.29.1_linux_amd64/frpc /usr/bin/frpc
mv frp_0.29.1_linux_amd64/frpc.ini /etc/frp/frpc.ini

mv frp_0.29.1_linux_amd64/systemd frpc.service frpc@.service /lib/systemd/system/

# 自动启动
systemctl enable frpc
systemctl restart frpc

Git 更新合并fork的项目代码

添加fork仓库

git remote add upstream https://github.com/fork.git

检查远程分支

fetch源分支到本地

git fetch upstream

合并代码

git merge upstream/master

合并时可能会有代码冲突,这需要手动处理

提交合并后的代码

git push origin master

MySQL 常用命令

-- 查看数据库引擎的运行时信息
show engine innodb status\G;

-- 显示正在运行的线程
show processlist;

-- 杀死进程
kill id

-- 锁表处理
show status like ‘%lock%’
show OPEN TABLES where In_use > 0; 

-- 查看正在锁的事务
SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCKS; 

-- 查看等待锁的事务
SELECT * FROM INFORMATION_SCHEMA.INNODB_LOCK_WAITS; 

-- 查看服务器状态
show status like ‘%lock%’;

-- 显示一个用户的权限
show grants for user_name; 

-- 显示一些系统特定资源的信息
show status; 

-- 显示系统变量的名称和值
show variables; 

-- 显示BDB存储引擎的日志
show logs; 

-- 显示最后一个执行的语句所产生的错误、警告和通知
show warnings; 

-- 只显示最后一个执行语句所产生的错误
show errors; 

-- 查看MySQL服务器运行的各种状态值
show global status;

-- 显示连接数
show variables like 'max_connections'; 
show global status like 'max_used_connections'; 

Mac psycopg2 安装错误记录

今天在电脑上安装Odoo的python的依赖包时,遇到了psycopg2无法正常安装的问题。提示 ld: library not found for -lssl 找不到,导致安装失败。

lssl是属于openssl的lib文件,查看系统发现openssl是正确安装的。

brew openssl info

于是查看系统的env环境发现openssl的CPPFLAGS环境变量是没有设置的,于是将openssl的环境变量均设置上。

export LDFLAGS="-L/usr/local/opt/openssl/lib"
export CPPFLAGS="-I/usr/local/opt/openssl/include"
export PKG_CONFIG_PATH="/usr/local/opt/openssl/lib/pkgconfig"

再次尝试安装

pip --no-cache install psycopg2

发现能正常安装了,综上判断,安装不了应该是由于没有找到openssl所对应的lib库引起的。

Centos/Mac 命令自动补全

常常使用tab来补全需要的命令参数,但在最小化安装系统的时候默认不安装,由于软件在epel库中,安装时先安装epel-release,再安装bash-completion,且需要重新建立bash环境。

yum -y install epel-release
yum -y install bash-completion
brew install bash-completion

# 写入设置,具体的可以通过 brew info bash-completion 查看
vim ~/.zshrc
fpath=(/usr/local/share/zsh-completions $fpath)
plugins=(... zsh-completions)
autoload -U compinit && compinit

Archives