Ubutu 防火墙规则修改
代码语言:javascript复制iptables -nvL --line-number
iptables -D INPUT 需要删除的规则数字
iptables -A INPUT -p tcp --dport 80 -j ACCEPT //新增规则
复制代码
Nginx no alternative certificate subject name matches target host name
代码语言:javascript复制curl: (51) SSL: no alternative certificate subject name matches target host name 'server-dev.343.cn'
复制代码
一直以为是证书问题,发现nginx的配置 server_name配错了...
butu18.04系统BUG引起的负载过高问题
问题描述: 此前测试服务器负载偏高,其他各项性能指标都正常,未找到原因。提阿里云工单回复正常。 当日CPU频繁达到100%,负载几十,造成服务器瘫痪。
问题原因: 自查未找到原因。做如下尝试: 1.关闭服务器上的自建服务,负载未恢复正常。 2.重新安装系统,选择ubutu18.04版本,负载未恢复正常。 3.阿里云调整了该实例的物理存储,负载未恢复正常。 4.将该实例打包成镜像重新创建实例,负载正常。 5.将该实例重装系统,选择ubutu16版本,负载正常。
最后基本确认该实例上的ubutu18.04系统存在问题。阿里云方告知该系统版本存在bug: www.mail-archive.com/ubuntu-bugs… 但未查清该系统版本在别的实例上为何不会出现负载异常。
解决方案: 调整系统内核版本。负载由平均4以上降低到0.5左右。
1.vim /etc/default/grub GRUB_DEFAULT="Advanced options for Ubuntu>Ubuntu, with Linux 4.15.0-55-generic" 2.grep menuentry /boot/grub/grub.cfg 查看启动顺序 3.update-grub 4.reboot
PHP 慢日志
代码语言:javascript复制request_slowlog_timeout = 1s
slowlog = /var/log/php_slow.log
复制代码
Mysql不引用默认配置文件
问题:mysql启动不使用默认的配置文件 解决:手动指定配置文件
代码语言:javascript复制root@iZ8vbeb4y2pc1zoyp16kvkZ:/home/suser# /usr/sbin/mysqld --defaults-file=/etc/my.cnf --user=mysql
mysqld: [ERROR] Could not open required defaults file: /etc/my.cnf
mysqld: [ERROR] Fatal error in defaults handling. Program aborted!
复制代码
启动时报错,my.cnf语法应该有问题,指向另一个my.cnf正常启动
apt列出所有已安装的包
apt list --installed
MYSQL慢日志设置
常规操作
代码语言:javascript复制slow_query_log = on
slow_query_log_file = /var/log/mysql_slow.log
long_query_time = 1
复制代码
但是重启后进行查看
代码语言:javascript复制show variables like "%slow_query_log%"
复制代码
还是OFF,无报错,配置文件没引用错,最后手动建了/var/log/mysql_slow.log才可以。 应该是权限问题。 无报错,可以正常重启是个坑。
PHP 抓取网页乱码
代码语言:javascript复制mb_detect_encoding($str, array("ASCII",'UTF-8',"GB2312","GBK",'BIG5'))
mb_convert_encoding($str, 'UTF-8', $encode);
对网页进行编码转换,还是乱码
复制代码
代码语言:javascript复制curl获取数据的时候设置添加下面的选项:
curl_setopt($ch, CURLOPT_ENCODING, 'gzip');
使用file_get_contents函数需要安装zlib库
$data = file_get_contents("compress.zlib://".$url);
复制代码
Nginx 跨域配置 和 Options 预检缓存
跨域
代码语言:javascript复制 add_header Access-Control-Allow-Origin $http_origin;
add_header 'Access-Control-Allow-Credentials' 'true';
add_header Access-Control-Allow-Headers x-requested-with,lang,Origin,origin-
secret,referer,content-type,auth-token;
add_header Access-Control-Allow-Methods GET,POST,OPTIONS;
复制代码
Options缓存
代码语言:javascript复制 add_header 'Access-Control-Max-Age' 86400;
复制代码
Mac item2自动ssh和session名固定
自动ssh Profiles -> Open Profiles
固定session Profiles -> Terminal -> Terminal may set tab/window title 去掉勾 Iterm2 -> Preference -> Appearance -> show profile name 勾选