使用docker搭建nginx(版本1.18.0)+PHP(7.4.26)环境,并且PHP要求安装PHP-mysqli扩展
时间: 2023-03-23 19:03:11 浏览: 129
好的,以下是使用Docker搭建Nginx(版本1.18.0)和PHP(版本7.4.26)环境,并安装PHP-mysqli扩展的步骤:
1. 首先,确保您的系统上已经安装了Docker和Docker Compose。如果没有安装,请先安装它们。
2. 创建一个文件夹,并在文件夹中创建一个名为docker-compose.yml的文件,然后在该文件中添加以下内容:
```
version: "3"
services:
web:
image: nginx:1.18.0
ports:
- "80:80"
volumes:
- ./code:/var/www/html
- ./nginx/default.conf:/etc/nginx/conf.d/default.conf
depends_on:
- php
php:
image: php:7.4.26-fpm
volumes:
- ./code:/var/www/html
- ./php/php.ini:/usr/local/etc/php/php.ini
```
3. 在上面的docker-compose.yml文件中,我们创建了两个服务:web和php。其中,web服务使用Nginx镜像,php服务使用PHP-FPM镜像。
4. 在上述文件中,我们将当前文件夹下的code文件夹挂载到了Nginx和PHP容器中,这意味着您可以将您的PHP代码放在该文件夹下,并且在容器中可以访问。
5. 我们还将Nginx的默认配置文件挂载到了该文件夹中的nginx文件夹下的default.conf文件中。您可以使用以下内容替换该文件中的内容:
```
server {
listen 80;
index index.php index.html;
error_log /var/log/nginx/error.log;
access_log /var/log/nginx/access.log;
root /var/www/html;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
fastcgi_pass php:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
```
6. 在上述配置文件中,我们将Nginx的根目录设置为/var/www/html,并在PHP文件的位置上配置了FastCGI。FastCGI将PHP脚本传递给PHP容器中的PHP-FPM处理器来处理。
7. 接下来,我们需要创建一个php.ini文件,该文件包含所需的PHP-mysqli扩展。在当前文件夹下创建一个名为php的文件夹,并在该文件夹下创建一个名为php.ini的文件。将以下内容添加到php.ini文件中:
```
extension=mysqli.so
```
8. 现在,您可以使用以下命令启动容器:
```
docker-compose up -d
```
9. 启动后,您可以在浏览器中访问http://localhost/,您将看到Nginx默认页面。您可以在code文件夹中创建一个index.php文件来测试PHP是否正常工作。例如:
```
<?php
phpinfo();
?>
```
10. 最后,您可以使用以下命令进入PHP容器,检
阅读全文