Step1 使用VmWare安装虚拟机
  1. 安装vmware

(133条消息) 使用VMware安装Ubuntu虚拟机 - 完整教程_Amentos的博客-CSDN博客

  1. 下载unbantu虚拟机镜像

ubuntu-releases-20.04安装包下载_开源镜像站-阿里云 (aliyun.com)

  1. 安装虚拟机
Step2 安装各种环境软件(ubantu要是20.04)

打开虚拟机的terminal(终端命令行工具)

先执行sudo apt-get update命令更新系统

安装软件

  • Nginx: 1.18.0

    sudo apt-get install nginx -y
    
  • Mysql: 8.0.30-0

    sudo apt-get install mysql-server -y
    
  • php : 7.4.3

    sudo apt-get install php7.4-cli php7.4-fpm -y 
    sudo apt-get install php7.4-gd php7.4-mysql php7.4-curl php7.4-xml php7.4-zip php7.4-mbstring -y
    
Step3 mysql基本配置、登陆

配置mysql :

  • mysql 的登陆方式

    1. 使用管理员权限登陆:
    sudo mysql 
    

    这种方式只能在本机登陆,使用的是 socket 登陆方式,获取本机的socket 进行登陆

    1. 使用账号密码登陆root账号:

      在安装的时候会有一个默认的账号密码

      使用如下命令查看自己的账号密码:

    sudo cat /etc/mysql/debian.cnf
    

    ​ [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-16Z9p2Qt-1693203757926)(/Users/songyuliang/Library/Application Support/typora-user-images/image-20230725154802535.png)]

​ 然后使用命令

mysql -u username -p password

​ 登陆mysql

Step4 创建数据库

首先根据第三步,登陆到 mysql 的 root 角色(管理员角色是可以创建数据库的)

  • 根据代码中的database.php 中的配置项来创建数据库

    [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GmFdLxSB-1693203757927)(/Users/songyuliang/Library/Application Support/typora-user-images/image-20230725171532148.png)]

    1 . 使用create database blcuhixipcom 在mysql 中创建一个数据库

    1. 使用CREATE USER 'blcuhixipcom'@'localhost' IDENTIFIED BY '^c1L03yDY5=p.AtWm,LU';来创建一个角色

    2. 为创建的角色分配我们在 1. 中所创建数据库的所有权限

      参考文章:(133条消息) Mysql用户创建以及权限赋予操作_mysql创建用户并赋予权限_有风入弦的博客-CSDN博客

      GRANT ALL PRIVILEGES ON blcuhixipcom.* TO 'blcuhixipcom'@'localhost';
      FLUSH PRIVILEGES;
      

  • exit; 退出root 角色

  • 执行 mysql -ublcuhixipcom -p^c1L03yDY5=p.AtWm,LU 进入 blcuhixipcom这个角色下

  • show databases; 就可以看到已经可以看到 blcuhixipcom 这个数据库了

  • 还原数据库:(还原数据库的时候只需要还原必要的数据库就可以了)

    source /xxx/xxx.sql;
    
Step4 安装启动项目所需工具
  • 安装git

    sudo apt install git
    
  • 克隆项目:

    git clone http://gitlab.parataxis.cn/server/courseware-admin-new.git
    

    会提示输入gitlab账号密码

  • 安装php 的包管理器 composer (相当于前端的yarn 或者 npm)

    • 安装composer 到 当前文件夹下
    sudo curl -sS https://getcomposer.org/installer | php
    
    • 移动composer 到 系统文件夹下 /usr/bin

      sudo mv composer.phar /usr/bin/composer
      

​ 最后查看composer 版本 composer -V , 确认为2 版本的才可以

​ [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-M7fFKU9E-1693203757927)(/Users/songyuliang/Library/Application Support/typora-user-images/image-20230726053854568.png)]

  • 使用下载的 composer 安装依赖

    • cd进入到项目文件夹下

    • 执行命令 ,安装依赖

      composer install
      

      [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uzUYEXQQ-1693203757928)(/Users/songyuliang/Library/Application Support/typora-user-images/image-20230726054100114.png)]

  • 如果安装速度比较慢,可以切换安装源,使用阿里镜像

    composer config -g repo.packagist composer https://mirrors.aliyun.com/composer/
    
  • 安装 Node.js

    How To Install Node.js on Ubuntu 20.04 | DigitalOcean

    使用nvm安装

    curl -o- https://ghproxy.com/https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.3/install.sh | tee install.sh
    sudo apt install vim
    vim install.sh
    

    Vim 是打开并修改的命令,使用 vim 打开文件,并修改所有的 github 网址 ,在网址前面加上

    https://ghproxy.com 如下图所示(下面是修改完的)

    随后使用bash 执行 intall.sh 脚本

    bash install.sh 
    

    出现下图,表示nvm(node version manage)安装完成:

    接下来用nvm安装node

    运行nvm list-remote 获取以上线的所有node版本

    之后使用

    nvm install v18.17.0 安装node

    使用node -v 查看node版本

  • 安装npm命令

    sudo apt install npm -y
    
  • 设置npm 源

    npm config set registry https://registry.npm.taobao.org
    
Step5 尝试启动项目
  • 下载前端源码

    cd ~ 
    git clone git@gitlab.parataxis.cn:frontend/courseware.git
    cd courseware 
    npm install
    npm run build 
    

    如果npm install 出现错误, 那么将 npm install 改为

    npm install --legacy--peer-deps
    

构建代码后,将构建后的dist目录里的文件拷贝到thinkphp项目public/show(如果没有show目录,需要新建一个show目录)目录下。

build之后前端的源码里面会多一个dist 文件夹

之后移动到后端的public/show 文件夹里面就可以了(使用sudo mv)

  • 配置nginx

    ThinPHP项目使用pathinfo来解析路径,需要Nginx做一些配置。主要用来给ThinkPHP传递路由参数。Nginx默认配置文件是**/etc/nginx/nginx.conf**。文件里会引入/etc/nginx/conf.d/目录下所有的*.conf文件。conf.d目录下可以放置我们虚拟主机的配置文件。文件名起一个语义化的文件即可,比如class.blcu.edu.cn.conf。内容如下:

    其中domain替换为相应域名,rootPath是上文ThinkPHP存放的code目录。比如现在服务域名是:class.blcu.edu.cn,则 d o m a i n 是 c l a s s . b l c u . e d u . c n 。代码存放的目录是 ∗ ∗ / w w w / c o d e ∗ ∗ ,则 {domain}是class.blcu.edu.cn。代码存放的目录是 **/www/code**,则 domainclass.blcu.edu.cn。代码存放的目录是/www/code,则{rootPath}是**/www/code/public**。

注意: 大部分的配置文件都在 /etc 目录下

  • 进入/etc/nginx/conf.d/ 目录(Nginx默认配置文件是**/etc/nginx/nginx.conf**。文件里会引入/etc/nginx/conf.d/目录下所有的*.conf文件)

    cd /etc/nginx/conf.d/
    
  • 新建一个.conf文件

    touch class.blcu.edu.cn.conf
    

    ls 一下,可以看到conf.d 文件夹下已经有个文件了

  • 将以下配置内容输入到配置文件中去

    server {
        listen 80;
        server_name syl.com;
        root ${rootPath}; 
        set $root ${rootPath};
        index index.php index.html
        location / {
            root ${rootPath};
            index   index.html  index.php;
            if ( -f $request_filename ) {
                break;
            }
            if ( !-e $request_filename ) {
                rewrite ^(.*)$ /index.php/$1 last;
                break;
            }
            
             try_files $uri $uri/ /index.php$uri?$query_string;
        }
    
        location ~ .+\.php($|/) {
            fastcgi_pass    127.0.0.1:9090; # 需要修改fpm下的某个配置文件
            fastcgi_split_path_info ^((?U).+.php)(/?.+)$;
            fastcgi_param PATH_INFO $fastcgi_path_info;
            fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
            fastcgi_param    SCRIPT_FILENAME    $root$fastcgi_script_name;
            include        fastcgi_params;
        }
    } 
    
    

    同时修改fpm下的某个配置文件

    假设安装的是php7.4版本,则fpm的默认配置文件路径是:/etc/php/7.4/fpm/pool.d/www.conf。修改文件内容中的listen字段,修改内容如下:

listen = /run/php/php7.4-fpm.sock  // 原
listen = 127.0.0.1:9090            // 改之后

​ 修改完之后需要重启fpm服务

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐