悟空CRM11.0 PHP版本docker容器化部署全流程

由于本地服务器为PHP5.3,项目部署需要PHP >= 7.0.*,所以选择docker容器化部署,服务器系统为centos7.3,所有的sql文件都在项目路径 public/sql下

目录

一.直接部署,不部署前端开发环境

二.部署前端开发环境

三.部署遇到的问题

一.直接部署,不部署前端开发环境

安装docker

外网环境下安装docker,直接使用yum安装

yum install docker

安装完执行命令 docker -v 查看如果出现版本号则安装成功

docker 命令可以参考这个大佬写的文章https://blog.csdn.net/leilei1366615/article/details/106267225
 安装完docker 拉取centos镜像

先查询在拉取

 使用docker pull 拉取第一个镜像

docker images 查看拉取的镜像

 新建容器(端口映射随生产环境变化)

docker run -i -d -p 80:80 8089:8089 -v /home/dockerData/:/home/dockerData/ -m 16G --privileged --name crm centos

进入容器后搭建环境,本人使用的是lnmp环境

使用oneinstack自动安装
wget -c http://mirrors.linuxeye.com/oneinstack-full.tar.gz && tar xzf oneinstack-full.tar.gz && ./oneinstack/install.sh --nginx_option 1 --php_option 6 --phpcache_option 3 --db_option 2 --dbinstallmethod 1 --dbrootpwd 123456 --redis  --reboot 

环境安装完毕后检查各项服务是否启动

检查完毕后将代码包放到 /data/wwwroot下

解压后给777权限

配置nginx,端口,域名,地址

 配置完检查nginx 

执行nginx -t

没有问题重启nginx服务

nginx -s reload

进入数据库文件夹导入数据库文件,原版中没有创建数据库,进入数据库之后先创建库

create database crm;

use crm

source  数据库文件

source 完退出

修改文件 config/database.php,源码中没有这个,
cp database_template.php database.php拷贝一份出来在修改

 修改完保存退出

浏览器直接访问http://域名/ 出现下面图片搭建成功

二.部署前端开发环境

项目根目录创建frontend文件夹,将前端代码包放进这里

修改 config/index.js  控制接口接口转发,官方文档中提到不建议修改这个文件中的端口默认8080,但是11.0中端口号默认为8090 所以在docker映射的时候直接映射8090

target 指向后端接口 api改成index.php

修改完后安装npm

本人直接装的18

直接安装
npm install 
npm run dev
浏览器访问

前端搭建完毕

三.部署遇到的问题

1. 如果不是docker部署忽略这条,在部署过程中,可能需要修改端口映射,又不想新建容器

参考Docker 修改容器端口_网心云docker修改端口_东京易冷的博客-CSDN博客

2.如果访问浏览器http://localhost/index.php/admin/install/index.html 
只是出现悟空软件四个字 直接访问http://localhost/index.html

3.输入用户名和密码之后弹出“网络错误,请检查您的网络”

(1)数据库连接失败,提示not allowed to connect to this MySQL server

  • mysql> grant all privileges on *.* to 'root'@'%'identified by '你的密码';

  • mysql> flush privileges;

(2)nginx配置有问题,接口提示404

(3)数据库使用的5.7会出现这个问题,查看接口报错this is incompatible with sql_mode=only_full_group_by 参考https://blog.csdn.net/u012660464/article/details/113977173

4.访问域名之后只出现悟空软件,查看代码发现是路由访问错误,经过排查发现是nginx配置有问题,nginx默认不支持pathinfo

可以参考我的配置文件 只展示server段

  server {
    listen 80;
    server_name IP地址;
    access_log /data/wwwlogs/access_nginx.log combined;
    root /data/wwwroot/72crm;
     index index.html index.htm index.php ;
    error_page 404 /404.html;
    #error_page 502 /502.html;

   location /nginx_status {
      stub_status on;
      access_log off;
      allow 127.0.0.1;
      deny all;
    }

    location ~ \.php(.*)$  {
      #fastcgi_pass remote_php_ip:9000;
      fastcgi_pass unix:/dev/shm/php-cgi.sock;
      fastcgi_index index.php;
     fastcgi_split_path_info  ^((?U).+\.php)(/?.+)$;
         fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
         fastcgi_param  PATH_INFO  $fastcgi_path_info;
         fastcgi_param  PATH_TRANSLATED  $document_root$fastcgi_path_info;
        include fastcgi.conf;
    }

    location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|mp4|ico)$ {
      expires 30d;
      access_log off;
    }
    location ~ .*\.(js|css)?$ {
      expires 7d;
      access_log off;
    }
    location ~ ^/(\.user.ini|\.ht|\.git|\.svn|\.project|LICENSE|README.md) {
      deny all;
    }
    location /.well-known {
      allow all;
    }
  }

5.部署完没有默认密码,导入sql文件install.sql,账号18888888888密码123456a。不建议直接在数据库添加,字段不一致会导致登录不上去。

6.登录成功后发现模块较少是因为数据没有导全,将sql下的文件合并到一个重新导入

7.其他后端问题可以参考安装悟空crm的几种报错及解决办法_3A网络资讯门户

8.前端部署遇到问题,安装npm后发现npm install 报错 尝试修改package.json文件,将node-sass版本修改为6.0.1重新安装

 9.nmp run dev 执行失败 出现错误Vue 报错error:0308010C:digital envelope routines::unsupported参考文档https://blog.csdn.net/zjjxxh/article/details/12717396

10.前端部署完毕之后测试能否登录,如果登录不上去,检查nginx,前端项目index.js是否配置正确

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值