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
相关文章
Mysql报错“this is incompatible with sql_mode=only_full_group_by”
由于本站使用的是msyql8.x版本的mysql数据库,版本较高,发现网站的“月份存档”的数据不展示了,经过排查发现是接口未能如期返回的数据,而是出现了报错“this is incompatible 阅读更多…
docker运行WordPress报MySQL server has gong away
前几天在用docker安装wordpress,之前已经安装的有mysql,准备使用--link的方式让wordpress的容器访问之前的mysql的容器,但是总是一启动在浏览器里面访问就把容器给搞挂了 阅读更多…
mysql 关闭3306端口对外开放服务
我们都知道mysql的默认端口就是3306,一般默认是对外开放的,也就是可以通过ip + 端口的访问直接远程访问,这样是有安全隐患,类似百度云观察这样的服务扫描到的话就会把这当成安全隐患提示站长。 阅读更多…
php连接access数据库的两种方法
第一种方法 <?php //读取mdb数据库的值,创建ADO连接 $username =1; $conn = new com("ADODB.Connection"); 阅读更多…
windows下xampp的mysql中文乱码
今天突然想搞微信公众账号的时候,碰到了将用户的中文存入mysql出现乱码的情况,于是在折腾了一会,特把过程记录下来,以备忘。 1、老习惯,我喜欢所有文件的编码用utf-8,极度不喜欢gbk之流。 阅读更多…
