突突唧之家

我的疑问 & 我的解决方案

问题描述

WSL 安装 Apache2 后启动服务会报出以下错误:

Invalid argument: AH00076: Failed to enable APR_TCP_DEFER_ACCEP

解决办法

打开 Apache2 配置文件:

nano /etc/apache2/apache2.conf

在文件的最底部添加以下内容:

AcceptFilter http none

然后重启 Apache2 。

安装 WSL

首先在 “控制面板 -> 程序 -> 程序和功能 -> 启用或关闭 Windows 功能” 里开启“适用于 Linux 的 Windows 子系统”。

接着在 Microsoft Store 里安装 Ubuntu ,安装完成后打开 Ubuntu ,进行初始化配置,此时需要设置一个用户名和密码。

配置 WSL 环境

再次打开 Ubuntu ,将系统软件源切换为清华大学软件源(或者其他你偏好的软件源)。

删除原有软件源:

sudo rm /etc/apt/sources.list

添加新软件源:

sudo nano /etc/apt/sources.list
阅读全文 »

用管理员身份打开 PowerShell,执行以下命令:

<WSL 发行版代号> config --default-user root

目前可用的发行版代号不完全列表如下:

发行版代号 发行版名称
ubuntu Ubuntu
ubuntu1804 Ubuntu 18.04
opensuse-42 openSUSE Leap 42
sles-12 SUSE Linux Enterprise Server 12
debian Debian GNU/Linux
kali Kali Linux

系统环境

本教程基于以下系统环境写作:

  • Ubuntu 18.04
  • Apache2 2.4.29

申请免费证书

SSL 免费证书申请地址为 SSL for Free

按照网站指示申请证书。

对于各级次级域名,如 *.example.com*.example.example.com 均需要单独申请证书。

阅读全文 »

新增用户并授权

使用 root 用户执行:

CREATE USER 'your_username'@'%' IDENTIFIED BY 'your_password';
GRANT ALL PRIVILEGES ON `your_schema_name`.`your_table_name` TO 'your_username'@'%';
FLUSH PRIVILEGES;

允许所有地址访问

注释掉 /etc/mysql/mysql.conf.d/mysqld.cnf (或类似文件)中的 bind-address = 127.0.0.1

重启 MySQL:

service mysql restart

Ubuntu 多次升级以后系统中会存在大量不同版本的内核,而每个内核占用非常多的硬盘空间,所以需要定期清理没用的内核,但最好保留最近两个内核,因为有的软件需要依赖特定内核而不一定是最新的。

首先查询当前我们使用的是内核是哪个版本的:

uname -a

查询系统中装了哪些内核:

dpkg --get-selections | grep linux

多余的内核可以通过命令删除:

apt remove <内核文件名称>

执行完上面命令后接着执行以下命令查看内核是否都删除干净了:

dpkg --get-selections | grep linux

如果没干净继续删除。有的内核后面会显示是 deinstall ,那需要通过:

dpkg --get-selections | grep deinstall | sed 's/deinstall/\lpurge/' | dpkg --set-selections; dpkg -Pa

进行删除。

本镜像仅包含 32/64 位 x86 架构处理器的软件包,在 ARM(arm64, armhf)、PowerPC(ppc64el)、RISC-V(riscv64) 和 S390x 等架构的设备上(对应官方源为ports.ubuntu.com)请使用 ubuntu-ports 镜像

Ubuntu 的软件源配置文件是 /etc/apt/sources.list。将系统自带的该文件做个备份,将该文件替换为下面内容,即可使用 TUNA 的软件源镜像。

因镜像站同步有延迟,可能会导致生产环境系统不能及时检查、安装上最新的安全更新,不建议替换 security 源。

22.04 LTS

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-backports main restricted universe multiverse

# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-security main restricted universe multiverse
# # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-security main restricted universe multiverse

deb http://security.ubuntu.com/ubuntu/ jammy-security main restricted universe multiverse
# deb-src http://security.ubuntu.com/ubuntu/ jammy-security main restricted universe multiverse

# 预发布软件源,不建议启用
# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-proposed main restricted universe multiverse
# # deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ jammy-proposed main restricted universe multiverse
阅读全文 »

先执行:

uname -r

看看内核版本是不是 ≥ 4.9 ,如果不是需要先升级内核。

如果满足条件,执行:

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

然后验证开启状态,执行:

sysctl net.ipv4.tcp_available_congestion_control
sysctl net.ipv4.tcp_congestion_control

如果结果都有 bbr ,则证明你的内核已成功开启 BBR !

此外,执行:

lsmod | grep bbr

看到有 tcp_bbr 模块也可说明 BBR 已启动。