前言

Alpine Linux 占用很小,功能丰富,可谓是麻雀虽小五脏俱全,已有博主 32MB 内存实现建站,见 32 MiB Site - 20231210。看到本文时,说明网站已建设并成功运行。在阅读本文前,建议您提前检索以下关键字:

  • apline,alpine apk,alpine rc-service
  • vi,vi 用法

安装 Nginx + PHP + SQLite3

apk update
apk add nginx php php-fpm sqlite3

如果想安装一些 PHP 扩展,使用命令 apk search php 查找,默认情况下,apk 安装扩展之后会自动添加到配置文件中。
如果想知道 PHP 加载了哪些扩展,使用命令 php -m 查看。

配置运行用户 www

为服务配置一个运行用户很重要,很多博主没说这一步,不配置运行用户很有可能导致日后博客程序提示权限不足……。Linux 上的权限管理比 Windows 要严格许多,但是不算复杂,如果了解更多,建议搜索关键词「Linux 权限」「如果使用 chmod chown 命令」。

本文使用 www 用户运行 Nginx 和 PHP-FPM。于是,新建用户 www,并将 nginx 文件夹所有权赋给 www,默认是 nginx 用户:

adduser -D -g "www" www
chown -R www:www /var/lib/nginx

通过修改配置文件将 Nginx 和 PHP-FPM 运行用户设置为 www:

  • 修改 Nginx 配置文件 /etc/nginx/nginx.confuser 项为 www
  • 修改 PHP-FPM 配置文件 /etc/php81/php-fpm.d/www.confusergroup 项为 www

如果找不到 php-fpm 配置文件,请将配置地址中 php81 改成你安装的版本。
如果想了解其他 Linux 发行版如果新建用户,检索关键字「Linux 新建用户」。

配置网站信息

/etc/nginx/http.d/ 目录下新建 {文件名}.conf 配置文件,可以参考下面的配置文件。

server {
        listen 443 ssl http2;

        ssl_certificate_key     {SSL PRIVATE KEY};
        ssl_certificate {SSL CERTIFICATE};

        #如需 Authenticated Origin Pulls
        #ssl_client_certificate  {Cloudflare Certificate};
        #ssl_verify_client       on;

        root    {网站目录,目录可被 www 用户掌控};
        index   index.html index.htm index.php;
        server_name     {网站名称};

        #如需 开启地址重写
        if (!-e $request_filename) {
                rewrite ^(.*)$ /index.php$1 last;
        }

        location ~ .*\.php(\/.*)*$ {
                include fastcgi.conf;
                fastcgi_pass    127.0.0.1:9000;
        }
}

如果想要了解其他配置方法,建议搜索关键词「Nginx 配置文件」。

启动 Nginx 和 PHP-FPM 服务

rc-service nginx start
rc-service php-fpm81 start

如果找不到 php-fpm81,使用 service -l 命令查看 php-fpm 服务名称。
如果想要重启后自动运行某服务,使用 rc-update add {服务名称} default 命令。
如果修改了配置文件,使用 rc-service {服务名称} restart 命令重启服务,Nginx 支持热加载 nginx -s reload

安装 Typecho 博客

如果想避免网站提示权限不足等错误,建议通过命令 su www 切换到 www 用户操作网站文件夹和文件。
如果安装程序或使用过程报错,可能是部分 PHP 扩展没有安装,请根据错误提示依次检索关键字,建议提前安装常用 PHP 扩展。
如果不知道如果安装 Typecho,建议检索关键字「Typecho 如何安装」、「如果解压 Linux 文件」。

参考

  1. Nginx with PHP - Alpine Linux - 20231210
  2. How To Host a Website Using Cloudflare and Nginx on Ubuntu 20.04 - DigitalOcean - 20231210
最后修改:2024 年 03 月 02 日
如果觉得我的文章对你有用,请随意赞赏