nginx+php-fpm docker镜像合二为一

2023-12-13 23:32

本文主要是介绍nginx+php-fpm docker镜像合二为一,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、概述

在上一篇文章介绍了nginx+php-fpm,链接如下:

https://www.cnblogs.com/xiao987334176/p/12918413.html

 

nginx和php-fpm是2个独立的镜像,在实际环境部署过程中,发现配置比较麻烦,排错比较耗费实际。

因此,需要将nginx和php-fpm 这2个镜像合并为一个。

 

二、正式操作

目录结构

新建目录/opt/nginx_php,目录结构如下:

./
├── default
├── dockerfile
├── README.md
└── run.sh

 

default

server {listen 80;server_name localhost;root /var/www/html;index index.html index.htm index.nginx-debian.html;location / {try_files $uri $uri/ =404;}location ~ \.php$ {fastcgi_pass 127.0.0.1:9000;fastcgi_index index.php;fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;include fastcgi_params;}
}
View Code

 

dockerfile

FROM crunchgeek/php-fpm:7.3-r7
ADD default /
ADD run.sh /
RUN apt-get update && \apt-get install -y nginx net-tools && \apt-get clean all && \mv /default /etc/nginx/sites-available/ && \chmod 755 /run.shEXPOSE 80
EXPOSE 9000
ENTRYPOINT ["/run.sh"]
View Code

 

README.md

# 说明
nginx+php-fpm# 版本说明
```bash
nginx 1.14.2
PHP 7.3.17
```# php-fpm模块说明
默认已经安装如下模块
```bash
apc
apcu
bcmath
bz2
calendar
Core
ctype
curl
date
dba
dom
ds
enchant
exif
fileinfo
filter
ftp
gd
gettext
gmp
hash
iconv
igbinary
imagick
imap
interbase
intl
json
ldap
libxml
mbstring
memcache
memcached
mongodb
msgpack
mysqli
mysqlnd
newrelic
openssl
pcntl
pcre
PDO
pdo_dblib
pdo_mysql
pdo_pgsql
pdo_sqlite
pdo_sqlsrv
pgsql
Phar
posix
pspell
readline
recode
redis
Reflection
session
shmop
SimpleXML
soap
sockets
sodium
SPL
sqlite3
ssh2
standard
sysvmsg
sysvsem
sysvshm
test
tidy
tokenizer
wddx
xdebug
xml
xmlreader
xmlrpc
xmlwriter
xsl
Zend OPcache
zip
zlib
```# 构建镜像
```bash
docker build -t nginx_php:1 .
```# 运行
```bash
docker run -d -it --restart=always --name nginx_php -p 80:80 nginx_php:1
```# 说明
```bash
default 是示例nginx配置文件,可根据实际情况修改
```# phpinfo
将`test.php`
```php
<?phpphpinfo();
?>
```
拷贝到容器目录`/var/www/html`通过以下url即可访问
```bash
http://ip地址/test.php
```# 注意
phpinfo不要暴露在公网中访问,黑客知道php版本后,会通过漏洞攻击。<br/>
<br/>
Copyright (c) 2020-present, xiao You
View Code

 

run.sh

#!/bin/bash# 后台启动
/usr/local/sbin/php-fpm -D# 关闭后台启动,hold住进程
nginx -g 'daemon off;'
View Code

 

构建镜像

cd /opt/nginx_php
docker build -t nginx_php:1 .

 

运行

docker run -d -it --restart=always --name nginx_php -p 80:80 nginx_php:1

 

访问页面

http://ip地址

效果如下:

 

 

phpinfo页面

新建test.php

cd /opt/nginx_php
vi test.php

内容如下:

<?phpphpinfo();
?>

 

拷贝到容器中

docker cp test.php nginx_php:/var/www/html/

 

访问test.php

http://ip地址/test.php

效果如下:

 

这篇关于nginx+php-fpm docker镜像合二为一的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/490342

相关文章

windows下安装Nginx全过程

《windows下安装Nginx全过程》文章介绍了HTTP和反向代理服务器的概念,包括正向代理和反向代理的区别,并详细描述了如何安装和配置Nginx作为反向代理服务器... 目录概念代理正向代理反向代理安装基本属性nginx.conf查询结构属性使用运行重启停止总结概念是一个高性能的HTTP和反向代理we

检查 Nginx 是否启动的几种方法

《检查Nginx是否启动的几种方法》本文主要介绍了检查Nginx是否启动的几种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学... 目录1. 使用 systemctl 命令(推荐)2. 使用 service 命令3. 检查进程是否存在4

python项目打包成docker容器镜像的两种方法实现

《python项目打包成docker容器镜像的两种方法实现》本文介绍两种将Python项目打包为Docker镜像的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要... 目录简单版:(一次成功,后续下载对应的软件依赖)第一步:肯定是构建dockerfile,如下:第二步

Python + Streamlit项目部署方案超详细教程(非Docker版)

《Python+Streamlit项目部署方案超详细教程(非Docker版)》Streamlit是一款强大的Python框架,专为机器学习及数据可视化打造,:本文主要介绍Python+St... 目录一、针对 Alibaba Cloud linux/Centos 系统的完整部署方案1. 服务器基础配置(阿里

Nginx概念、架构、配置与虚拟主机实战操作指南

《Nginx概念、架构、配置与虚拟主机实战操作指南》Nginx是一个高性能的HTTP服务器、反向代理服务器、负载均衡器和IMAP/POP3/SMTP代理服务器,它支持高并发连接,资源占用低,功能全面且... 目录Nginx 深度解析:概念、架构、配置与虚拟主机实战一、Nginx 的概念二、Nginx 的特点

Nginx内置变量应用场景分析

《Nginx内置变量应用场景分析》Nginx内置变量速查表,涵盖请求URI、客户端信息、服务器信息、文件路径、响应与性能等类别,这篇文章给大家介绍Nginx内置变量应用场景分析,感兴趣的朋友跟随小编一... 目录1. Nginx 内置变量速查表2. 核心变量详解与应用场景3. 实际应用举例4. 注意事项Ng

Docker + Redis 部署集群的实现步骤

《Docker+Redis部署集群的实现步骤》本文详细介绍了在三台服务器上部署高可用Redis集群的完整流程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋... 目录一、环境准备1. 服务器规划(3 台服务器)2. 防火墙配置(三台服务器均执行)3. 安装 docke

Nginx分布式部署流程分析

《Nginx分布式部署流程分析》文章介绍Nginx在分布式部署中的反向代理和负载均衡作用,用于分发请求、减轻服务器压力及解决session共享问题,涵盖配置方法、策略及Java项目应用,并提及分布式事... 目录分布式部署NginxJava中的代理代理分为正向代理和反向代理正向代理反向代理Nginx应用场景

Nginx搭建前端本地预览环境的完整步骤教学

《Nginx搭建前端本地预览环境的完整步骤教学》这篇文章主要为大家详细介绍了Nginx搭建前端本地预览环境的完整步骤教学,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录项目目录结构核心配置文件:nginx.conf脚本化操作:nginx.shnpm 脚本集成总结:对前端的意义很多

解决docker目录内存不足扩容处理方案

《解决docker目录内存不足扩容处理方案》文章介绍了Docker存储目录迁移方法:因系统盘空间不足,需将Docker数据迁移到更大磁盘(如/home/docker),通过修改daemon.json配... 目录1、查看服务器所有磁盘的使用情况2、查看docker镜像和容器存储目录的空间大小3、停止dock