====== VPS 配置笔记 ====== 我在 2023 年 9 月份在推特上读到了腾讯云打折的消息,算了一下,比我目前在用的 Linode 每月 5 美元的 plan 要便宜一些,于是就购买了一年的(只允许买一年,买三份会给你三个一年期的实例),也下定决心在这一期Linode到期前,进行了VPS的迁移。之前的[[VPSNotes|配置笔记]]有些内容过时了,虽然仍然具有一定的参考价值,但我还是费了一些心思甄别。于是提炼一个新的页面,记录一下当前的VPS配置需要的内容。 --- //[[hi@liuf.net|刘丰]] 2023/10/11 09:44// ===== 服务器描述 ===== 第一次购买腾讯云家的服务器,有些东西我不是很熟悉,操作系统就选择了我比较了解的 Debian bookworm。在使用的时候,遇到过多次找不到命令但实际软件包已经安装的情况,比如 ''nginx''。后来发现需要手动制定路径,''/sbin/nginx'' 才能执行,我猜是 ''/sbin'' 目录没有被加入到 ''PATH'' 里面。之前基本没遇到过这种情况,我猜和 Debian 的策略有关系。 ===== 基础设置 ===== 腾讯云作为国产服务器厂商,有些默认的配置不需要修改,比如时区。不过为了通用性,我还是记在这里,和之前的笔记没有什么不同。 ==== 修改默认编辑器 ==== # update-alternatives --config editor ==== 修改时区 ==== # dpkg-reconfigure tzdata ===== MySQL ===== 现在已经是 MariaDB 了,而且现在 VPS 的资源也不需要太过精打细算,默认配置还可以承受,我这次也没有进行很多配置文件的调整。InnoDB 用起来。 ==== MySQL 安全设置 ==== 安装了 MySQL 后运行一下 ''sudo mysql_secure_installation'',自动清除一些不安全的设置。 ==== MySQL 新建用户 ==== CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password'; ==== MySQL 获取权限 ==== GRANT ALL PRIVILEGES ON * . * TO 'newuser'@'localhost'; ==== MySQL 数据库迁移 ==== 以迁移 WordPress 数据库(数据库名 wordpress)为例。 * 导出:在之前的主机上运行下面这个命令导出数据库:mysqldump -p wordpress > wp-backup.sql * 创建数据库:新主机的 MySQL 命令行(普通用户登录)执行CREATE DATABASE wordpress; * 导入:新主机终端(普通用户)执行mysql -p wordpress < wp-backup.sql ==== MySQL 查看表结构 ==== DESC 表名; 或者 SHOW COLUMNS FROM 表名; ==== MySQL change password ==== * 用 root 登陆 MySQL:''mysql -uroot -p'' * 切换数据库:''use mysql;'' * ''update user set password=PASSWORD("NEWPASSWORD") where User='liufeng';'' * ''flush privileges;'' ==== MySQL Collation check ==== ''SHOW TABLE STATUS;'' 的输出结果中有相关的字段 ===== Nginx 安装配置 ===== 近几年 Nginx 越来越流行,Apache 的配置已经忘得差不多了。 原本的配置文件复制粘贴过来继续用,之前上了 MoinMoin、MediaWiki 等一些站点,因此有点复杂,现在削减了不少。 ==== certbot ==== 这个环节遇到最大的问题是 HTTPS 配置。我是使用 certbot 工具来搞定的,它会编辑 Nginx 的站点配置文件,我上次的经验是,先不要加自己的设置,拿一个最小的配置先让 certbot 弄完了,之后再加自己的配置。 因为 Debian 发型版 ''/sbin/nginx'' 程序没有在 PATH 里的原因,默认的 ''certbot'' 命令执行是不成功的,要加命令行参数指定可执行程序。最终成功的命令是sudo certbot --nginx --nginx-ctl /sbin/nginx ==== 目录配置 ==== 在 Debian 发型版中,Nginx 默认的目录是 ''/var/www/html''。我也不确定标准的做法是怎么样,我这两年搞的是在 HOME 目录里加一个软连接:ln -s /var/www/html /home/liuf/public_html 目录的权限值得关注,对于 ''blog''、''wiki'' 这些平时不需要手动维护的目录,我把权限都设置成了 ''www-data:www-data''。对于一些平时可能会手动维护的静态目录,我设置的权限是 ''liuf:www-data''。 ===== PHP ===== 安装 ''php-fpm'' 包,这是处理 Nginx 请求的核心包。WordPress 需要一些 PHP 相关的组件包,需要那个,逐个安装即可。比如 ''php-mbstring''。