docker安装php nginx mysql容器化记录
docker安装php nginx mysql容器化记录
建议第一步应该先安装mysql,因为后面的php很可能是需要连接mysql的,然后nginx是需要转发.php文件给php-fpm的
新建nginx的配置文件 /root/website/nginx/conf/conf.d/www.conf
server {
listen 80;
server_name localhost;
#charset koi8-r;
root /root/website/daozhao.com;
index index.html index.htm index.php;
location / {
try_files $uri $uri/ /index.php$is_args$args;
}
location ~ \.php$ {
root /root/website/daozhao.com;
#fastcgi_pass unix:/sock/www.sock; // 需要用sock连接时使用
fastcgi_pass php:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /www/$fastcgi_script_name;
#fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; // 不可用$document_root
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
include fastcgi_params;
index index.html index.php;
}
b内部分容后面会讲到
docker安装mysql
docker run -p 13306:3306 --name my_mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql
docker安装php
将php的端口号和sock都暴露个宿主机
docker run --name my_php-fpm -p 19000:9000 -v /sock:/usr/local/var/run -v /root/website/xxx:/www --link my_mysql:mysql -d php:7.4.13-fpm
--link my_mysql:mysql
: 把 my_mysql 的网络并入 php,并通过修改 php 的 /etc/hosts,把域名 my_mysql 映射成 127.17.0.4,让 php 通过mysql:3306(类似127.0.0.1:3306) 访问 mysql。
如果
docker安装nginx
docker run --name my_php_nginx -p 8080:80 -v /root/website/www:/usr/share/nginx/html -v /root/website/nginx/conf/conf.d:/etc/nginx/conf.d --link my_php-fpm:php -d nginx
效果类似,方便通过php:9000访问php-fpm,如上述/root/website/nginx/conf/conf.d/www.conf 文件所示
验证效果 新建phpinfo.php
<?php
echo phpinfo();
?>
推荐启动顺序
根据依赖关系确定先后顺序 mysql -> php -> nginx
相关文章
WordPress上传图片出现“图像后期处理失败,请将其缩小到2500像素并重新上传”
今天在上传图片的时候发现了这个报错“图像后期处理失败,请将其缩小到2500像素并重新上传”,如果是英文版的话,就会报错“Post-processing of the image failed. If 阅读更多…
Ubuntu建立PHP服务器(apache+php+mysql+phpmyadmin)
Ubuntu建立LAMP(apache+php+mysql+phpmyadmin) Ubuntu安装配置LAMP WEB服务器最详细和全面的方法: 一.安装 1.安装LAMP 在新立得软件包 阅读更多…
nginx开启https parameter requires ngx_http_ssl_module in /usr/local/nginx/conf/nginx.conf
安装nginx,一般是安装在/usr/local/nginx nginx基本操作 cd /usr/local/nginx/sbin 启动 ./nginx 关闭 ./ngin 阅读更多…
php连接mysql数据库代码
创建页面开始连接 <?php $con = mysql_connect("localhost","root","sa"); 阅读更多…
前端模拟后端接口进行调试之node+mysql篇
有时前端在开发过程中肯定是会跟后端联调的,但是如果此时后端可能没有开发好,或者因为其它优先级高的事情无法联调,又或者是前端需要确保当前项目无明显bug后着手开发其他项目。这个时候如果能模拟后端接口数据 阅读更多…
docker运行WordPress报MySQL server has gong away
前几天在用docker安装wordpress,之前已经安装的有mysql,准备使用--link的方式让wordpress的容器访问之前的mysql的容器,但是总是一启动在浏览器里面访问就把容器给搞挂了 阅读更多…