zl程序教程

您现在的位置是:首页 >  其他

当前栏目

服务器3

2023-04-18 12:54:56 时间

Ubutu 防火墙规则修改

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

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 慢日志

request_slowlog_timeout = 1s 
slowlog = /var/log/php_slow.log
复制代码

Mysql不引用默认配置文件

问题:mysql启动不使用默认的配置文件 解决:手动指定配置文件

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慢日志设置

常规操作

slow_query_log = on
slow_query_log_file = /var/log/mysql_slow.log
long_query_time = 1
复制代码

但是重启后进行查看

show variables like "%slow_query_log%"
复制代码

还是OFF,无报错,配置文件没引用错,最后手动建了/var/log/mysql_slow.log才可以。 应该是权限问题。 无报错,可以正常重启是个坑。

PHP 抓取网页乱码

mb_detect_encoding($str, array("ASCII",'UTF-8',"GB2312","GBK",'BIG5'))
mb_convert_encoding($str, 'UTF-8', $encode);

对网页进行编码转换,还是乱码
复制代码
curl获取数据的时候设置添加下面的选项:
curl_setopt($ch, CURLOPT_ENCODING, 'gzip');

使用file_get_contents函数需要安装zlib库
$data = file_get_contents("compress.zlib://".$url);
复制代码

Nginx 跨域配置 和 Options 预检缓存

跨域

    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缓存

    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 勾选