podman 只搭建 php

昨天折腾半天,把之前系统用的面板去掉,然后手撕博客环境。
因为总感觉用面板多多少少老遇到问题,而且感觉不放心。
这次想着把 php 单独放容器,nginx maraidb 之类的放本机,后续有其他需要容器的也干净。
说说步骤吧 有几个点需要注意
1.首先 安装 podman 后需要定义镜像仓库:
配置文件路径:/etc/containers/registries.conf
填入:unqualified-search-registries = ["docker.io"]
2.拉取 php-fpm 镜像:podman pull php:8.3-fpm
3.启动容器

podman run -d \
  --name phpx \
  -p 9000:9000 \ #注意这里的端口信息
  -v /var/www/php/:/var/www/php \ #前面是本机目录 后者是容器
  php:8.3-fpm

4.进入容器,装一些必要扩展:

podman exec -it my-php bash
apt update
apt install libcurl4-openssl-dev zlib1g-dev libpng-dev libzip-dev libxml2 libxml2-dev
#安装 php 扩展
docker-php-ext-install curl mbstring pdo_mysql

5.nginx 设置

server {
    ...
    location ~ \.php$ {
        include fastcgi_params;
        fastcgi_pass 127.0.0.1:9000;  # 上面设置中容器暴露的端口
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    }
    ...
}

6.网页输出 No input file specified. #删除或重新配置目录中的 .user.ini
7.数据库的配置我禁用了 root 远程链接,新建了一个远程链接的用户,但是链接不成功,后面又在
/etc/maraidb/my.cnf 设置了 bind-address=0.0.0.0 php 配置文件中的链接 ip 可以直接填主机的外网 ip 地址,
当然也可以用内网地址 hostname -I #取第一个 ip

podman 容器的一些操作我不是很深入,有不对的欢迎讨论。
就这样了。

本文链接:

https://vioulo.com/archives/podman-php.html
1 + 6 =
1 评论
    大雄Chrome 130OSX
    11月21日 回复

    果然技术大佬就是可以为所欲为