2025年2月24日 星期一 甲辰(龙)年 腊月廿四 设为首页 加入收藏
rss
您当前的位置:首页 > 计算机 > 软件应用 > 开发工具(IDE)

用容器部署PHP开发环境

时间:06-06来源:作者:点击数:25
phplogo-1617378886

这次使用容器来秒部署php开发环境,折腾了半天,算是来填坑,php容器可以搭配nginx或者mysql来使用,目前本机已经部署了nginx服务,配合php容器实现最基本的web开发环境。采用Docker,部署非常方便。

开始部署PHP容器

PHP后面的标签可以自己定义,如版本号这些

  • docker pull php:7.4-fpm

运行容器

  • docker run \
  • -p 9000:9000 \
  • -d --name php \
  • -v /opt/www:/www \
  • --privileged=true \
  • php:7.4-fpm

-v /opt/www:/www :网页目录映射到容器内的www目录,这个目录在配置nginx文件的时候需要用到,后面会说。

-p 9000 :这个是php的端口,可以修改,这个端口在后期配置nginx文件中也需要用到,保证不冲突即可

配置nginx文件

由于本机已经安装了nginx服务,可以在配置文件内直接修改,以支持PHP文件

修改配置主要是添加了两条内容,第一条是添加 index.php 文件格式,第二是添加php支持,特别注意的是端口和docker映射的端口一致,以及fastcgi_param后面的目录也是映射在容器内的目录,并非物理机的目录,这里经常搞错。blog文件夹是这个网站的文件夹,根据个人的网站目录来写,不能照抄

image-20211102163827758

全部代码

  • server {
  • listen 80;
  • listen 443 ssl;
  • server_name blog.lincloud.pro;
  • root /opt/www/blog; #网页目录名
  • index index.html index.htm index.php;
  • ssl_certificate "/etc/nginx/ssl/fullchain.pem";
  • ssl_certificate_key "/etc/nginx/ssl/privkey.pem";
  • ssl_protocols TLSv1.1 TLSv1.2;
  • ssl_ciphers TLS13-AES-256-GCM-SHA384:TLS13-CHACHA20-POLY1305-SHA256:TLS13-AES-128-GCM-SHA256:TLS13-AES-128-CCM-8-SHA256:TLS13-AES-128-CCM-SHA256:EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+ECDSA+AES128:EECDH+aRSA+AES128:RSA+AES128:EECDH+ECDSA+AES256:EECDH+aRSA+AES256:RSA+AES256:EECDH+ECDSA+3DES:EECDH+aRSA+3DES:RSA+3DES:!MD5;
  • ssl_prefer_server_ciphers on;
  • ssl_session_cache shared:SSL:10m;
  • ssl_session_timeout 10m;
  • location ~ .*\.php(\/.*)*$ { # 添加php支持
  • fastcgi_pass 127.0.0.1:9000; # PHP程序端口,该端口和Docker映射的端口一致
  • fastcgi_index index.php;
  • fastcgi_param SCRIPT_FILENAME /www/blog/$fastcgi_script_name; # /www/blog 这个目录是映射在 Docker 容器内的对于的网页目录名
  • include fastcgi_params;
  • }
  • }
测试

在网页目录新建一个 index.php 文件用于测试。

  • <html>
  • <head>
  • <title>PHP 测试</title>
  • </head>
  • <body>
  • <?php echo '<p>Hello World</p>'; ?>
  • </body>
  • </html>

最后重启nginx服务,访问web测试

image-20211102163106129

显示如上内容测试通过。

PHP容器内部如何添加MYSQL拓展?

在容器内运行一下命令

  • docker-php-ext-install pdo pdo_mysql

最后重启PHP容器即可

其他拓展:

安装Typecho博客需要用1.0版本来安装,然后下载正式版来替换文件完成升级

下载1.0版本的页面:https://github.com/typecho/typecho/releases

*直接下载地址:https://github.com/typecho/typecho/releases/download/v1.0-14.10.10-release/1.0.14.10.10.-release.tar.gz*

正式版本下载地址:https://typecho.org/download

如果在登录后台之后显示404,那么需要修改nginx配置文件中的PHP拓展支持。如上代码是正确的。

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门