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
相关文章
php连接mysql数据库代码
创建页面开始连接 <?php $con = mysql_connect("localhost","root","sa"); 阅读更多…
windows下xampp的mysql中文乱码
今天突然想搞微信公众账号的时候,碰到了将用户的中文存入mysql出现乱码的情况,于是在折腾了一会,特把过程记录下来,以备忘。 1、老习惯,我喜欢所有文件的编码用utf-8,极度不喜欢gbk之流。 阅读更多…
mysql 关闭3306端口对外开放服务
我们都知道mysql的默认端口就是3306,一般默认是对外开放的,也就是可以通过ip + 端口的访问直接远程访问,这样是有安全隐患,类似百度云观察这样的服务扫描到的话就会把这当成安全隐患提示站长。 阅读更多…
WordPress上传图片出现“图像后期处理失败,请将其缩小到2500像素并重新上传”
今天在上传图片的时候发现了这个报错“图像后期处理失败,请将其缩小到2500像素并重新上传”,如果是英文版的话,就会报错“Post-processing of the image failed. If 阅读更多…
spa前端 + wordpress后台项目配置nginx实战和静态资源配置难点
现在将wordpress作为后台项目,自己用vue或者react做自己的前端的项目越来越多,虽然作为同一个对外的项目,实际上是有两个项目组成,那怎么去分配这两个项目的路由呢?哪部分走spa,哪部分走 阅读更多…