欢迎光临
AK的小站-记录生活的点滴

常用设置、命令

nginx相关

特定路径禁止某些请求

location ~* /html {
if ($request_method = PUT ) {
return 403;
}
 
if ($request_method = DELETE ) {
return 403;
}
 
if ($request_method = POST ) {
return 403;
}
 
proxy_method GET;
proxy_pass http://tomcat;
}
http
{
    limit_conn_zone $binary_remote_addr zone=perip:10m;
    #$binary_remote_addr 定义每个ip,zone=perip:10m 区域为perip 存储大小10m
    limit_conn_zone $server_name zone=perserver:10m;
    #$server_name 定义每个域名站点,

    limit_req_zone $binary_remote_addr zone=svipperip:10m rate=2r/s;
    limit_req_zone $server_name zone=svipperserver:10m rate=120r/s;
}

server
{
    listen 80;
    server_name www.abc.com;
    root /www/wwwroot/xxx.com;
    index index.php index.html index.htm default.php default.htm default.html;

    location /xxx {
    }
    
    location / {
    root /www/wwwroot/xxx.com;
    limit_conn perserver 100;#限制当前站点最大并发数,区域 为 http定义的 perserver
    limit_conn perip 3;#限制单个IP访问最大并发数
    limit_rate 300k;#对每个连接限速300k. 注意:这里是对连接限速,而不是对IP限速。如果一个IP允许两个并发连接,那么这个IP就是限速limit_rate×2。
    proxy_buffering on; 关闭会导致限速失败   

    #limit_conn_log_level error;当达到最大限制连接数后,记录日志的等级。

    limit_rate_after 1024m;#连接达到多少流量后限速
    limit_rate 300k;

    limit_req zone=svipperip burst=5 nodelay;
    #限制当前域名站点每个ip漏桶数为5个.也就是队列数.nodelay:不启用延迟.
    limit_req zone=svipperserver burst=50;
    #限制当前域名站点nginx的处理速率为每秒10个
    limit_req_status 598;自定义被限制后 返回的状态码。
    }
}

Docker相关

启动容器报错

/etc/docker 下新建一个 daemon.json 文件

{
 "registry-mirrors": ["https://registry.docker-cn.com"], #镜像源
 "mtu": 1400  #设置容器使用的网络的mtu,解决容器访问网络失败
}
docker run --restart=always --name akun.ltd -d -v /app/soga/:/etc/soga/ -v /etc/localtime:/etc/localtime -p 66:80  镜像名称 \

--name 设置容器名,运行多个 docker 实例不要同名
-d 表示后台运行,若只是想测试,去掉 -d,前台运行,可实时查看日志
-v 挂载目录(将宿主机/app/soga/挂载到容器的 /etc/soga/)
--network host(也可以选其他网卡) 可自动映射同位端口,docker容器启用80断开就将宿主机的80端口映射给容器

docker ps                           # 查看正在运行的容器
docker ps -a                        # 查看所有容器,包括已运行和未运行的
docker logs name_or_id              # 查看容器日志
docker restart name_or_id           # 重启容器
docker stop name_or_id              # 停止容器
docker start name_or_id             # 启动容器
docker rm name_or_id -f             # 强制删除容器

docker-compose

安装:
curl -L "https://github.com/docker/compose/releases/download/1.26.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
docker-compose up                   # 前台启动soga,主要观察日志使用
docker-compose up -d                # 后台启动soga,长期运行
docker-compose logs --tail=500      # 截取输出最后500行日志
docker-compose down                 # 停止并删除容器
docker-compose restart              # 重启
docker-compose pull                 # 更新

屏蔽PHP错误提示

  • 修改/etc/php/php.ini文件,display_errors =off
  • 防止报错暴露文件路径

php.ini session设置

  • session.gc_probability = 1,session.gc_divisor = 1
  • session.gc_maxlifetime = 1440

防止目录执行PHP文件

  • 在需要禁止执行的文件夹,建一个.htaccess文件,填入如下内容
<Files ~ ".php">  
    Order  allow,deny  
    Deny  from  all  
</Files> 

禁止显示目录索引

  • 防止没有index直接显示目录
  • 编辑apache的 httpd.conf,加入以下内容
<Directory "/var/www/html">
    Options Indexes FollowSymLinks #去掉Indexes
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>

Indexes 的作用就是当该目录下没有 index.html 文件时,就显示目录结构,去掉 Indexes,Apache 就不会显示该目录的列表了。

数据库

  • 禁用root用户,新建用户并限制权限
  • 禁止远程访问
  • 禁止输出生成文件

限制xmlrpc.php访问

本站基于wp搭建,限制xmlrpc.php访问可以防止暴力破解攻击。

linux常用

修改系统语言编码

myubuntu@ubuntu:~$ sudo vi /etc/default/locale 
  LANG="zh_CN.UTF-8"
  LANGUAGE="zh_CN:zh"
  LC_ALL="zh_CN.UTF-8"
保存后logout,重新登录

查看进程信息、启动文件

ll /proc/PID
赞(2) 请喝奶茶
未经允许不得转载:吾爱AK-哇咔咔AK » 常用设置、命令

觉得文章对你有用,奖励一杯奶茶给我也是可以滴(o゚▽゚)o

微信扫一扫打赏