使用docker搭建环境尝试-方法2
参考:https://www.jianshu.com/p/243849fa218e
http://cnblogs.com/btsn/p/11244887.html(安装php7.3)
https://blog.csdn.net/shenhonglei1234/article/details/84786443(mysql5.8以上设置权限分开设)
https://blog.csdn.net/u010071211/article/details/80594885(php-redis)
https://blog.csdn.net/moxioakong788/article/details/81744738(安装php5.6)
- 之前尝试了docker搭环境,方式是直接拉个centos然后里面装lnmp,然后文件映射跑起来的,现在随着对docker认识的加深和认识到有更好的方式来搭,所以花了靠两天时间又搭了一个。
- 这次的基础环境是用ubuntu,在ubuntu里面安装php+nginx跑一个docker简称容器A,然后再跑一个mysql的docker简称容器B,跑的时候用容器A直接连跑在外面的容器B就好了。
以下是简短的操作流程
// 先拉个最新的ubuntu
docker run -p 80:80 -it ubuntu:latest
// 进入,提前处理内部
apt-get update
apt-get install -y vim
// 步骤一
apt-get install nginx
nginx -v
nginx -t
service nginx status// url测试
// 步骤二
apt-get install software-properties-common python-software-properties
add-apt-repository ppa:ondrej/php && sudo apt-get update
apt-get -y install php7.3
// 安装php的各个扩展
apt-get install -y php7.3-fpm php7.3-mysql php7.3-curl php7.3-json php7.3-mbstring php7.3-xml php7.3-intl
php -v // phpinfo测试
php的各个扩展直接安装
apt-get install php7.3-gd
sudo apt-get install php7.3-soap
sudo apt-get install php7.3-gmp
sudo apt-get install php7.3-odbc
sudo apt-get install php7.3-pspell
sudo apt-get install php7.3-bcmath
sudo apt-get install php7.3-enchant
sudo apt-get install php7.3-ldap
sudo apt-get install php7.3-opcache
sudo apt-get install php7.3-readline
sudo apt-get install php7.3-sqlite3
sudo apt-get install php7.3-xmlrpc
sudo apt-get install php7.3-bz2
sudo apt-get install php7.3-interbase
sudo apt-get install php7.3-pgsql
sudo apt-get install php7.3-recode
sudo apt-get install php7.3-sybase
sudo apt-get install php7.3-xsl
sudo apt-get install php7.3-cgi
sudo apt-get install php7.3-dba
sudo apt-get install php7.3-phpdbg
sudo apt-get install php7.3-snmp
sudo apt-get install php7.3-tidy
sudo apt-get install php7.3-zip
然后nginx和php都安装好了,我们需要调整和php-fpm相连的conf使能跑php文件
/** 下面的fastcgi_pass使用的是
/etc/php/7.3/fpm/php-fpm.conf和/etc/php/7.3/fpm/pool.d/www.confd
的
listen = /run/php/php7.3-fpm.soc决定的
*/
server {
listen 80;
#server_name www.deskpic.top;
index index.html index.php
client_max_body_size 50M;
# error_log /home/deploy/apps/logs/example.error.log;
# access_log /home/deploy/apps/logs/example.access.log;
root /var/www/html;
location / {
try_files $uri $uri/ /index.php$is_args$args;
}
location ~ \.php {
try_files $uri = 404;
fastcgi_split_path_info ^(.+\.php)(/.+)$;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
fastcgi_index index.php;
fastcgi_pass unix:/var/run/php/php7.3-fpm.sock;
# fastcgi_pass 127.0.0.1:9000;
}
}
然后尝试网页访问php文件成功🐱🚀
- 接着原来尝试还是在ubuntu里面安装mysql,成功是成功了,但是怎么设置外部都是访问不了mysql,3306也开了都不行,然后就换种思路mysql使用镜像跑到外面来吧🐱🏍
docker pull mysql:8.0
docker run -dit -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 --privileged=true --name=mysql_try 30f937e841c8
// 进入容器里面的mysql命令行
create user 'adminroot' identified with mysql_native_password by '666666';
grant all privileges on *.* to 'adminroot';
flush privileges;
先navicat尝试连接
再php尝试连接,搞好😎
<?php
$mysqli = new mysqli("localhost", "root", "password");
if(!$mysqli) {
echo "连接失败!";
}else{
echo "连接成功!";
}
$mysqli->close();
- 安装redis+php
apt-get install redis-server
apt-get install php7.3-readline
apt-get install php-redis
重启php查看service php7.3-fpm restart
,OK
设置redis密码,vim /etc/redis/redis.conf
设置requirepass nidemima,
重启redis,service redis-server restart
,命令行查看redis-cli -a nidemima
本文作者:蜗牛使劲冲
本文链接:https://www.cnblogs.com/warrenwt/p/18074565
版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步