docker安装php nginx mysql容器化记录
source link: https://www.daozhao.com/10269.html
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
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
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK