Crontab 定时脚本中出现 command not found

原因是cron中仅传递少部分环境变量,如下

LANGUAGE=en_US.utf8:
HOME=/root
LOGNAME=root
PATH=/usr/bin:/bin
LANG=en_US.utf8
SHELL=/bin/sh
PWD=/root

而我想使用的命令文件在 /usr/local/bin/ 目录中,不在默认的环境变量中

解决办法是在定时脚本中加入PATH变量

#!/bin/bash
PATH="/usr/local/bin:/usr/bin:/bin"

# 脚本内容
发布日期:
分类:Linux标签:

oh my zsh 常用插件的常用命令

Ubuntu:

agi: 安装包

agp: 删除包和配置文件

agu: 更新本地包索引文件

agug: 更新所有包

git:

gaa	
#git add --all 添加所有修改到暂存区

gcam
# git commit -a -m 添加注释 比如 gcam "update"

gp
# git push 提交

systemd:

  • sc-start (即 sudo systemctl start 下同)
  • sc-stop
  • sc-reload
  • sc-restart
  • sc-status

arch linux:

  • pacin (sudo pacman -S)安装软件包
  • pacreps (pacman -Ss) 搜索软件包
  • pacre (sudo pacman -R) 删除软件包
  • pacrem (sudo pacman -Rns) 删除软件包包括依赖和配置文件
  • pacupg (sudo pacman -Syu)更新所有软件包

dnf:

  • dnfi 安装包
  • dnfgi 安装组包
  • dnfr 删除包
  • dnfu 更新包
  • dnfs 搜索包

Arch Linux服务器配置php-fpm并开启http/2

我之前是用libphp的方式安装的php,就是安装 php7-apache 这个包,但是这种方法不支持http/2,所以我换成了 php-fpm

具体的配置方法看arch wiki就可以了

Apache HTTP Server – ArchWiki (archlinux.org)

但我按wiki的方法配置好后,打开什么页面都是503

原因是我使用的是php7,安装的包也是 php7-fpm,arch linux最新的版本是php8了,所以配置默认是php8的,需要修改一下 SetHandler 

DirectoryIndex index.php index.html
<FilesMatch \.php$>
    SetHandler "proxy:unix:/run/php-fpm7/php-fpm.sock|fcgi://localhost/"
</FilesMatch>

然后重启一下 httpd 服务就行了

开启http/2也很简单 Apache HTTP Server – ArchWiki (archlinux.org)

取消注释

LoadModule http2_module modules/mod_http2.so

加入以下行就行了

Protocols h2 http/1.1

可以在以下网址测试网站是否开启http/2

Arch Linux 服务器开启BBR提高网络带宽和降低延迟

为内核加载 bbr 模块

echo "tcp_bbr" > /etc/modules-load.d/modules.conf

将默认的拥塞算法设置为 bbr

echo "net.core.default_qdisc=fq" > /etc/sysctl.d/bbr.conf
echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.d/bbr.conf

重启服务器后验证一下

sysctl net.ipv4.tcp_congestion_control

net.ipv4.tcp_congestion_control = bbr

打开bbr后,网站速度感觉快了一些

为什么使用Linux

搜索 why linux,出现的第一个结果是

https://www.opensourceforu.com/2020/03/reasons-to-use-linux/

1. High security 更高的安全性

这点确实,在服务器还是桌面上,Linux使用包管理器安装程序,减少了用户自己下载到病毒文件的可能性。

2. High stability 更高的稳定性

在服务器上确实如此,但在桌面上却一言难尽,很有可能用着用着就进不去系统了

3. Ease of maintenance 更易维护 确实如此

4. Runs on any hardware 硬件兼容性高 确实如此

5. Free 免费

是这样,但Windows也能是Free的

6. Open Source 开源

跟普通用户没什么关系

7. Ease of use 更易使用

这条就是在扯淡了。

与 Linux 仅供极客使用的一般信念相反,它现在已成为用户友好型用户,并且具有良好的图形用户界面 (GUI)。

一点也不良好

如果您使用的是一些仅在 Windows 上运行的应用程序,您可以安装Wine (Windows 模拟器),使用该应用程序可以在 Linux 系统上运行这些应用程序。

wine这玩意能用?

8. Customisation 自定义程度高

确实,桌面都能玩出一堆花样

9. Education 教学

使用Linux可以学到很多东西

10. Support 支持性

可能吧,中文社区缺乏

其它文章说来说去也是这几点。但我认为Linux较Windows更好的只有三点

  • 用于服务器,占有更少资源,性能更高
  • 用于桌面,更适合程序员,做开发更合适方便
  • 用于桌面,更玩出更多花样,就是为了折腾

我以前就属于第三点了

不过现在没有那个精力了。懒得折腾了

发布日期:
分类:Linux标签:

apache pagespeed配置

apache:

<IfModule pagespeed_module>
    ModPagespeed on
    ModPagespeedEnableFilters inline_css
    ModPagespeedEnableFilters lazyload_images
    AddOutputFilterByType MOD_PAGESPEED_OUTPUT_FILTER text/html
    ModPagespeedEnableFilters convert_gif_to_png
    ModPagespeedEnableFilters convert_jpeg_to_progressive
    ModPagespeedEnableFilters convert_jpeg_to_webp
    ModPagespeedEnableFilters convert_png_to_jpeg
    ModPagespeedEnableFilters convert_to_webp_lossless
    ModPagespeedEnableFilters inline_images
    ModPagespeedEnableFilters recompress_images
    ModPagespeedEnableFilters recompress_jpeg
    ModPagespeedEnableFilters recompress_png
    ModPagespeedEnableFilters recompress_webp
    ModPagespeedEnableFilters jpeg_subsampling
    ModPagespeedEnableFilters remove_comments 
    ModPagespeedEnableFilters Combine_css
    ModPagespeedEnableFilters rewrite_javascript,rewrite_css
    ModPagespeedEnableFilters collapse_whitespace,elide_attributes
    ModPagespeedFileCacheInodeLimit 500000
    ModPagespeedFileCachePath "/var/cache/mod_pagespeed/"
</IfModule>

Ubuntu 20.04 / Debian设置 swap 交换分区

创建 swap 文件

fallocate -l 2G /swapfile

更改权限为root可读

chmod 600 /swapfile

将该文件转为交换分区

mkswap /swapfile

启用该文件交换分区

swapon /swapfile

查看启用的交换分区

swapon --show

设置开机后自动启动这个交换分区

echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

ok!

参考

配置 oh my zsh

首先安装好 zsh

apt install -y zsh git

然后把 oh my zsh 克隆到本地,因为我的国内服务器访问不到github,所以要改一下地址,改成cnpm的加速镜像地址

git clone https://github.com.cnpmjs.org/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh