server {
listen 66;
location / {
# 允许跨域
add_header 'Access-Control-Allow-Origin' '*';
add_header 'Access-Control-Allow-Credentials' 'true';
add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS';
add_header 'Access-Control-Allow-Headers' 'DNT,X-CustomHeader,Keep-Alive,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type';
proxy_set_header X-Real-IP $remote_addr;
# 网络和 IO 测试 https://teddysun.com/444.html
wget -qO- bench.sh | bash
# 性能测试 https://teddysun.com/245.html
wget --no-check-certificate https://github.com/teddysun/across/raw/master/unixbench.sh && chmod +x unixbench.sh
./unixbench.sh
wget -qO- --no-check-certificate https://raw.githubusercontent.com/oooldking/script/master/superbench.sh | bash
# 生成密钥(RSA 兼容性强)
ssh-keygen -t rsa -b 4096 -C "netnr" # 生成密钥
# Git 客户端 v2.33.1 及以上的版本或者 OpenSSH 是 8.8 及以上 RSA 算法被禁用,添加配置 ~/.ssh/config
Host *
HostkeyAlgorithms +ssh-rsa
PubkeyAcceptedAlgorithms +ssh-rsa
# 生成密钥(ED25519 更小更快更安全,需要 OpenSSH 6.5 以上,推荐),密钥均为 256 位
ssh-keygen -t ed25519 -C "netnr"
# 修改系统变量
echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf
echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf
sysctl -p # 保存生效
sysctl net.ipv4.tcp_available_congestion_control # 查看内核是否已开启 BBR
lsmod | grep bbr #查看 BBR 是否启动
#help
https://www.moerats.com/archives/612/
# 安装字体
yum -y install fontconfig
cd /usr/share/fonts
mkdir cfont # 创建新的字体文件夹
chmod -R 755 /usr/share/fonts/cfont # 修改 cfont 目录的权限使 root 用户以外的用户也可以使用
# 拷贝字体到 cfont 文件夹
yum install mkfontscale
mkfontscale && mkfontdir
fc-cache –fv # 刷新内存中的字体缓存
chkconfig –list | grep vsftpd # 检查是否安装(没任何反应)
yum install vsftpd # 安装
touch /var/log/vsftpd.log # 创建日志
chkconfig vsftpd on # 自启动
# 允许 root 登录
cd /etc/vsftpd && ls
# 编辑,注释 root,前面添加#
vi ftpusers
vi user_list
mysqldump -u 账号 -p 数据库 > 路径 # 备份格式
# 备份库(表结构及数据) -R 包含存储过程、函数和触发器 --no-tablespaces 不包括表空间
mysqldump -u root -p netnrdb -e -R --no-tablespaces > /netnr/data/netnrdb.sql
mysqldump -uroot -p123456 netnrdb -e -R --no-tablespaces > /netnr/data/netnrdb.sql
mysqldump -u root -p -d netnrdb > /netnr/data/netnrdb.sql # 备份库(表结构)(加 -d 不含数据)
mysqldump -u root -p netnrdb table1 table2 table3 > netnrdb.sql # 备份库(指定表)
mysqldump -u root -p --databases dbname1, dbname2 > backdb.sql # 备份多个数据库
# 公共依赖
Install-Package Microsoft.EntityFrameworkCore.Tools
# MySQL
Install-Package Pomelo.EntityFrameworkCore.MySql
Scaffold-DbContext "Server=.;Port=3306;Database=netnr;uid=root;pwd=123" Pomelo.EntityFrameworkCore.MySql -Force -UseDatabaseNames -DataAnnotations -NoPluralize -NoOnConfiguring -Context ContextBase
#SQLServer
Install-Package Microsoft.EntityFrameworkCore.SqlServer
Scaffold-DbContext "Server=.;Database=netnr;uid=sa;pwd=123" Microsoft.EntityFrameworkCore.SqlServer
wget https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm
rpm -ivh mysql57-community-release-el7-9.noarch.rpm
yum install mysql-server
mysqld --initialize # 初始化
chown mysql:mysql -R /var/lib/mysql # 设置权限
systemctl start mysqld # 启动
service mysqld restart # 重启
# linux 安装
yum install git-core
# clone项目
git clone https://github.com/netnr/np.git
# 强制覆盖本地
git fetch --all
git reset --hard origin/master
git pull
nohup dotnet Web.dll & # 后台运行 dotnet 站点
# 会生成 nohup.out 日志文件,如果不想输出日志 /dev/null 是一个路径黑洞
nohup dotnet Web.dll > /dev/null &
echo "" > nohup.out # 清空 nohup.out 日志文件
tail -f nohup.out # 监听 nohup.out 日志输出
kill $(lsof -t -i :8080) # 根据端口 8080 关闭进程
kill $(pidof node) # 根据进程名称 node 关闭进程
# 安装方式:一键安装
wget http://soft.vpser.net/lnmp/lnmp1.9.tar.gz && tar -xvf lnmp1.9.tar.gz && cd lnmp1.9 && ./install.sh nginx
./upgrade.sh nginx # 升级
# help
https://lnmp.org/install.html
# 安装方式:CentOS7 yum
rpm -Uvh https://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
# 环境
yum -y install gcc gcc-c++ autoconf automake libtool make cmake
yum -y install zlib zlib-devel openssl openssl-devel pcre-devel
wget https://www.openssl.org/source/openssl-1.1.1.tar.gz # 安装包下载地址 https://www.openssl.org/source/
tar -xzf openssl-1.1.1.tar.gz # 解压
cd openssl-1.1.1 # 进入安装目录
mkdir /usr/local/openssl # 创建文件夹
# 卸载升级
vi /etc/ssh/sshd_config # 编辑配置文件
ClientAliveInterval 60 # 表示每分钟发送一次,然后客户端响应,这样就保持长连接,默认是 0, 不发送.
ClientAliveCountMax 3 # 表示服务器发出请求后客户端没有响应的次数达到一定值,就自动断开.
service sshd restart # 重启 sshd 服务
# help
https://www.cnblogs.com/adolfmc/p/7248515.html
wget --no-check-certificate -O shadowsocks.sh https://raw.githubusercontent.com/teddysun/shadowsocks_install/master/shadowsocks.sh
chmod +x shadowsocks.sh
./shadowsocks.sh 2>&1 | tee shadowsocks.log
cat /etc/shadowsocks.json # 查看 config
systemctl restart shadowsocks # 重启
systemctl status shadowsocks # 状态
# help
https://github.com/shadowsocks/shadowsocks-windows/releases
####### nginx.conf
user www www;
worker_processes auto;
worker_cpu_affinity auto;
error_log /home/wwwlogs/nginx_error.log crit;
pid /usr/local/nginx/logs/nginx.pid;