PHP_Web开发框架laravel部署

106

PHP_Web开发框架laravel部署

1. 安装laravel_docker

# mac
# 安装Docker Desktop
cd ~/Database_in_Mac/08_caigui_site/04_laravel_docker
curl -s "https://laravel.build/cg_laravel_docker" | bash
vim cg_laravel_docker/docker-compose.yml
# 按https://jigardhulla.wordpress.com/2020/12/31/adding-phpmyadmin-service-to-laravel-sail-docker-compose-yml/的教程在service中添加以下内容
# 要注意缩进
------------------------
    myadmin:
        image: 'phpmyadmin:latest'
        ports:
          - 8080:80
        environment:
          MYSQL_ROOT_PASSWORD: '${DB_PASSWORD}'
        links:
          - "mysql:db"
        depends_on:
          - mysql
        networks:
          - sail
------------------------
# 第一次构建,第一次完成后可以在Docker Desktop中后台开启或关闭。
./cg_laravel_docker/vendor/bin/sail up 

# 浏览器中输入localhost进入主页
# 浏览器中输入localhost:8080进入phpmyadmin
# 默认用户名sail,密码password,查看或修改密码在.env文件
less ./cg_laravel_docker/.env

2. 向服务器迁移

# 压缩后上传服务器
# 解压缩
sudo unzip cg_laravel_docker.zip
# 更名
sudo mv cg_laravel_docker show.caigui.site
# 赋予项目内这两个文件夹写入权限
sudo chmod -R 777 show.caigui.site/bootstrap/cache show.caigui.site/storage
sudo chmod -R 755 show.caigui.site/public/images

# 服务器向下迁移(压缩服务器文件)
sudo zip -r skjbrowse.zip skjbrowse

# md5检查一个目录并生成文件
sudo find ./ -type f -print0 | xargs -0 md5sum > ~/cloud.show.caigui.site.md5
md5sum -c cloud.show.caigui.site.md5 --status

# 检查经常要更新的文件夹的完整性
find ./public  -type f -print0 | xargs -0 md5sum > ~/cloud.public.md5.txt
find ./resources  -type f -print0 | xargs -0 md5sum > ~/cloud.resources.md5.txt

3. 链接shiny

-------shiny_project.txt------ at/atrnaseq1 at/atrnaseq2 at/atrnaseq3 at/atscrnaseq1 at/atscrnaseq2 mp/mprnaseq1 mp/mpscrnaseq1 os/osrnaseq1 sk/skrnaseq1 sk/skscrnaseq1

for i in `cat shiny_project.txt`
do
sudo ln -s $PWD/$i /srv/shiny-server
done

4. meilisearch兼容性问题

我电脑里docker安装的是laravel v9的版本,有一次安装了laravel v11的版本。然后旧版本docker启动时就报meilisearch版本不兼容的问题,解决方式是删除docker卷后重新构建docker。

# 列出所有卷
docker volume ls
# 删除有问题的meilisearch卷
docker volume rm cg_laravel_docker_sail-meilisearch
# 重新构建,问题解决
./vendor/bin/sail up

5. php版本兼容性问题

之前laravel v9版本需要的都是php8.1,现在装了个升级后的smallest测试,为v11版本,需要php8.2,/run/php查看没有这个版本,安装新的

sudo apt update
sudo apt install lsb-release ca-certificates curl -y
sudo curl -sSLo /usr/share/keyrings/deb.sury.org-php.gpg https://packages.sury.org/php/apt.gpg
sudo sh -c 'echo "deb [signed-by=/usr/share/keyrings/deb.sury.org-php.gpg] https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list'
sudo apt update

sudo apt info php
sudo apt install php8.2 

好像安装错了,把服务器用的php安装成php8.2了?参考之前建设网站的教程安装php8.2相关内容

sudo apt-get install php8.2 php8.2-fpm php8.2-curl php8.2-gd php8.2-intl php8.2-mbstring php8.2-mysql php8.2-imap php8.2-opcache php8.2-sqlite3 php8.2-xml php8.2-xmlrpc php8.2-zip
# 安装成功后有了需要的文件
less /run/php/php8.2-fpm.sock
# 

6. 新mac部署

# 不确定是否要运行以下步骤,但我运行后work了
curl -s "https://laravel.build/test_new" | bash
# 进入上面命令安装的文件夹
./vendor/bin/sail up
# work

# 但是对我的旧项目进行sail up时候,报错no matching manifest for linux/arm64/v8 in the manifest list entries

# 编辑对应项目的docker-compose.yml文件
# 给mysql和selenium后面一行加上平台:platform: linux/amd64
# 不确定是否两个都需要添加平台,还是只添加一个也可以。我直接两个都添加后work
mysql:
        platform: linux/amd64
selenium:
        platform: linux/amd64
# 重新sail up
# work