使用docker搭建一套简单的PHP+nginx的环境,nginx版本1.18 PHP版本7.4.26 详细步骤
时间: 2023-08-31 19:25:59 浏览: 165
Docker搭建 Nginx+PHP+MySQL 环境并部署WordPress实践
### 回答1:
感谢您的提问。以下是使用 Docker 搭建一套简单的 PHP + Nginx 环境的详细步骤:
1. 安装 Docker 和 Docker Compose
您可以在 Docker 的官方网站上下载并安装 Docker 和 Docker Compose,这里不再赘述。
2. 创建项目文件夹
在您的电脑上创建一个新的项目文件夹,用于存放 PHP 和 Nginx 的配置文件和代码。
3. 创建 Nginx 配置文件
在您的项目文件夹中创建一个名为 `nginx.conf` 的文件,并在其中添加以下内容:
```
server {
listen 80;
server_name localhost;
root /var/www/html;
index index.php;
location / {
try_files $uri $uri/ /index.php?$query_string;
}
location ~ \.php$ {
fastcgi_pass php:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /var/www/html/$fastcgi_script_name;
include fastcgi_params;
}
}
```
该配置文件定义了一个名为 `localhost` 的 Nginx 服务器,将 HTTP 请求监听在 80 端口上,使用 PHP FastCGI 进程来处理 PHP 代码。
4. 创建 PHP 配置文件
在您的项目文件夹中创建一个名为 `php.ini` 的文件,并在其中添加以下内容:
```
error_reporting = E_ALL
display_errors = On
display_startup_errors = On
date.timezone = Asia/Shanghai
```
该配置文件定义了 PHP 的一些基本配置,例如时区和错误报告。
5. 创建 Docker 配置文件
在您的项目文件夹中创建一个名为 `docker-compose.yml` 的文件,并在其中添加以下内容:
```
version: '3'
services:
nginx:
image: nginx:1.18
volumes:
- ./nginx.conf:/etc/nginx/nginx.conf
- ./code:/var/www/html
ports:
- 80:80
depends_on:
- php
php:
image: php:7.4-fpm
volumes:
- ./php.ini:/usr/local/etc/php/php.ini
- ./code:/var/www/html
```
该配置文件定义了两个 Docker 容器,分别对应 Nginx 和 PHP。Nginx 容器使用 Nginx 1.18 的官方镜像,挂载了刚刚创建的 `nginx.conf` 文件和项目代码文件夹,将 HTTP 请求监听在主机的 80 端口上,并依赖于 PHP 容器。PHP 容器使用 PHP 7.4 的官方镜像,挂载了刚刚创建的 `php.ini` 文件和项目代码文件夹。
6. 启动 Docker 容器
打开终端,切换到您的项目文件夹所在的目录,并执行以下命令:
```
docker-compose up
```
该命令将会启动 Nginx 和 PHP 的 Docker 容器,并在终端中输出它们的日志。您可以通过浏览
### 回答2:
使用Docker搭建一套简单的PHP+Nginx环境,可以按照以下步骤进行:
1. 首先,安装Docker和Docker Compose,可以根据操作系统的不同,参考官方文档进行安装。
2. 创建一个新的文件夹,用于存放项目文件,并进入该文件夹。
3. 在项目文件夹中创建一个名为`docker-compose.yml`的文件,并打开编辑。
4. 在`docker-compose.yml`文件中添加以下内容:
```
version: '3'
services:
nginx:
image: nginx:1.18
ports:
- "80:80"
volumes:
- ./nginx/conf.d:/etc/nginx/conf.d
- ./nginx/html:/usr/share/nginx/html
php:
image: php:7.4.26-fpm
volumes:
- ./php:/var/www/html
```
5. 创建`nginx`文件夹,并在其中创建一个`conf.d`文件夹和一个`html`文件夹。
6. 在`conf.d`文件夹中创建一个名为`default.conf`的Nginx配置文件,并将以下内容复制到文件中:
```
server {
listen 80;
server_name localhost;
root /usr/share/nginx/html;
index index.php index.html;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
fastcgi_pass php:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
```
7. 在`html`文件夹中创建一个名为`index.php`的PHP文件,并在其中添加以下内容作为测试:
```php
<?php
phpinfo();
```
8. 创建`php`文件夹,用于存放PHP项目文件。
9. 保存并关闭所有文件。
10. 在终端中进入项目文件夹,并运行以下命令启动Docker容器:
```
docker-compose up -d
```
11. 打开浏览器,访问`http://localhost`,应该能看到PHP的信息页面,表示环境搭建成功。
通过以上步骤,我们就成功地使用Docker搭建了一套简单的PHP+Nginx环境,可以在本地进行开发和测试。
### 回答3:
使用Docker搭建一套简单的PHP Nginx环境,可以按照以下步骤进行操作:
1. 首先,确保已经安装好Docker和Docker Compose,以便能够管理和运行容器。
2. 创建一个工作目录,用于存放相关的配置文件和Docker Compose文件。
3. 在工作目录中创建一个名为docker-compose.yml的文件,并在其中编写以下内容:
```yaml
version: '3'
services:
web:
image: nginx:1.18
volumes:
- ./app:/var/www/html
- ./nginx.conf:/etc/nginx/nginx.conf
ports:
- 80:80
php:
image: php:7.4.26-fpm
volumes:
- ./app:/var/www/html
```
这个文件定义了两个服务,一个是Nginx,一个是PHP-FPM。Nginx服务使用官方提供的1.18版本的镜像,将工作目录中的app文件夹挂载到容器的/var/www/html目录,用于存放网站文件;同时将工作目录中的nginx.conf文件挂载到容器的/etc/nginx/nginx.conf目录,用于配置Nginx。PHP服务使用官方提供的7.4.26-fpm版本的镜像,将工作目录中的app文件夹挂载到容器的/var/www/html目录,与Nginx共享代码。
4. 在工作目录中创建一个名为nginx.conf的文件,并在其中编写以下内容:
```nginx
server {
listen 80;
index index.php;
root /var/www/html;
location / {
try_files $uri $uri/ /index.php$is_args$args;
}
location ~ \.php$ {
fastcgi_pass php:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
```
这个配置文件定义了Nginx的基本设置,将请求转发给PHP-FPM处理。
5. 在工作目录中创建一个名为app的文件夹,用于存放PHP文件和网站代码。
6. 打开命令行工具,进入工作目录,运行以下命令启动容器:
```
docker-compose up -d
```
这个命令会根据docker-compose.yml文件中定义的配置启动容器。
7. 打开浏览器,访问http://localhost,即可看到运行在Docker容器中的PHP Nginx环境。
通过以上步骤,我们成功使用Docker搭建了一个简单的PHP Nginx环境,Nginx版本为1.18,PHP版本为7.4.26。可以在工作目录的app文件夹中添加任意PHP文件和网站代码,Nginx会将请求转发给PHP-FPM处理,并将结果返回给浏览器显示。
阅读全文