一.准备工作:
1.环境:Ubuntu20.04
#查询linux内核版本等信息
#版本号:主版本.次版本.释出版本-修改版本
root@zph-IdeaCentre-GeekPro-14IOB:/home/git# cat /proc/version
Linux version 5.14.0-1033-oem (buildd@lcy02-amd64-025) (gcc (Ubuntu 9.4.0-1ubuntu1~20.04.1) 9.4.0, GNU ld (GNU Binutils for Ubuntu) 2.34) #36-Ubuntu SMP Mon Apr 4 15:15:49 UTC 2022
#或者
root@zph-IdeaCentre-GeekPro-14IOB:/home/git# uname -a
Linux zph-IdeaCentre-GeekPro-14IOB 5.14.0-1033-oem #36-Ubuntu SMP Mon Apr 4 15:15:49 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
#或者
root@zph-IdeaCentre-GeekPro-14IOB:/home/git# cat /etc/issue
Ubuntu 20.04.4 LTS \n \l
2.安装docker,docker-compose环境
见linux环境,centos8下 docker及docker compose安装教程
二.docker-compose 安装nignx,php,mysql,redis,rabbitmq,mongo
1.下载docker_lnmp(提取码: ib7s)到自己的linux服务器上,这里我是放到/home/git下的,如图:
2.进入docker_lnmp目录,如图:
3. 安装
#使用以下命令运行
docker-compose up -d --build
需要等待一段时间,出现以下时,表示安装完成
4.配置环境
#hosts配置 解析开发域名
vi /etc/hosts
#增加域名
127.0.0.1 www.test.com
#保存并退出
:wq
5.配置虚拟站点
#进入docker_lnmp
cd /home/git/docker_lnmp
#复制www.conf
cp www.conf ..
cd ..
#编辑www.conf
vi www.conf
按内容实例配置相关站点,每一个站点都如下格式:
server {
listen 80;
server_name blog.xidu.xyz;
index index.htm index.html index.php;
location / {
root /var/www/frontend/web;
index index.php index.html index.htm;
if (!-e $request_filename){
rewrite ^/(.*) /index.php last;
}
}
location ~ \.php$ {
root /var/www/frontend/web;
fastcgi_pass php:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
server {
listen 80;
server_name admin.blog.xidu.xyz;
index index.htm index.html index.php;
location / {
root /var/www/backend/web;
index index.php index.html index.htm;
if (!-e $request_filename){
rewrite ^/(.*) /index.php last;
}
}
location ~ \.php$ {
root /var/www/backend/web;
fastcgi_pass php:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
6.编辑.env
#编辑完成之后,再进入cd /home/git/docker_lnmp/ 编辑.env
cd /home/git/docker_lnmp/
vi .env
#更改以下两项:
PROJECT_ROOT=/var/www #项目路径
VHOST_ROOT=/home/git #开发环境虚拟站点路径
#保存退出
:wq
#增加log
mkdir –p /mnt/hgfs/work/log/nginx
mkdir –p /mnt/hgfs/work/log/php-fpm
#运行:docker-compose up -d
docker-compose up -d
7.访问
上述配置好后,就可以通过虚拟站点访问对应项目网站了
8.一般我们的项目中的扩展都是经过compoer安装的,所以我们还要在php环境中安装composer,方便以后项目更新扩展
#进入docker php环境
docker exec -it dockerlnmp_php_1 bash
#查看composer是否存在
composer -V
#如果不存在,下载composer安装程序
curl -s https://getcomposer.org/installer | php
#把 composer.phar 文件移到 /usr/local/bin 目录下
mv composer.phar /usr/local/bin/composer
#移动文件后,让它执行
chmod +x /usr/local/bin/composer
#安装已经完成,查看
composer -V
三.重启电脑后,如何重启?
#进入docker_lnmp目录
cd /home/git/docker_lnmp
#执行
docker-compose start
#ok
四.项目初始化
#进 php 环境,对项目进行初始化(我的项目框架yii2)
docker exec -it docker_lnmp_php_1 bash
cd /var/www/
cd 项目根目录
php ./init
五.安装mongodb后,怎么访问数据库?
通过以上安装后,就可以访问mongodb数据库了,在这里我使用的是Studio 3T
如图:
当然,也可以通过上面的mongo-express可视化工具访问,访问地址:192.168.xxx.xxx:28017,如图:
在请求数据库时,可能报错:MongoDB\Driver\Exception\AuthenticationException: Authentication failed,解决办法:mongodb:MongoDB\Driver\Exception\AuthenticationException: Authentication failed