gitlib-laravel项目部署

在gitlib创建一个项目

在gitlib添加ssh

生成密钥

  • ssh-keygen -t rsa -b 4096 -C "你的邮箱"
    -b 4096 是为了提高安全度,可以省略,如:ssh-keygen -t rsa -C "你的邮箱"

windows下文件

打开资源管理器(文件浏览器)。
在地址栏中输入 %USERPROFILE% 并按 Enter 键。
进入用户的家目录。在该目录下应该存在一个名为 .ssh 的隐藏文件夹。
打开 .ssh 文件夹,您会找到一对密钥文件:id_rsa(私钥)和 id_rsa.pub(公钥)。
id_rsa 是您的私钥文件,用于身份验证。
id_rsa.pub 是与该私钥配对的公钥文件,用于将其添加到远程服务器上的授权列表中。

linux下文件

  • cat ~/.ssh/id_rsa.pub

添加公钥

在gitlib,右上角用户那里——>编辑个人资料——>SSH密钥

上传代码

  • git init
  • git add --all
  • git commit -m "更新说明"
  • git remote add origin 项目下clone的地址
  • git pull origin main --allow-unrelated-histories # 强制设置远程分支的历史记录作为起点
  • git push -u origin main

下载代码

linux系统下

  • yum install git 安装git
  • cd /var/www
  • mkdir myproject
  • cd myproject
  • git clone 项目下clone的地址

注意,Git 仓库所在的目录权限或所有权配置上存在问题导致无法正常执行 Git 命令,一般执行以下这个命令就行
git config --global --add safe.directory 项目根目录

运行项目

安装依赖

  • cd 项目根目录
  • composer install

建数据库

  • mysql -u root -p
  • 输入mysql密码
  • 创建数据库:CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';
  • 赋予权限:GRANT ALL PRIVILEGES ON *.* TO 'username'@'localhost';

laravel不会自动创建数据库,需要手动创建,虽然很多数据库没用,但不创建的话,迁移不成功。

  • CREATE DATABASE admin;
  • CREATE DATABASE appcenter;
  • CREATE DATABASE forge;
  • CREATE DATABASE greenbrowser;
  • CREATE DATABASE mingshivideo;

迁移数据

  • cd 项目根目录
  • 创建表:php artisan migrate
  • 生成默认数据:php artisan db:seed

如果提交文件的时候,framework里的东西没有提交,那么要重新创建文件夹,否则会出错
mkdir -p storage/framework/cache
mkdir -p storage/framework/sessions
mkdir -p storage/framework/cache/views
改变一下用户组,赋予权限:chown -R nginx:root 项目根目录/storage
php artisan cache:clear
php artisan config:cache

创建虚拟主机

  • cd /etc/nginx
  • vim conf.d/lxstore_center.conf
server {
    listen 8000;

    # Log files for Debugging
    access_log /var/log/nginx/lxstore-center-access.log;
    error_log /var/log/nginx/lxstore-center-error.log;

    # Webroot Directory for Laravel project
    root /var/www/myproject/lxstore_center/admin-dev/public;
    index index.php index.html index.htm;

    # Your Domain Name
    server_name 域名或者公网IP;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    # PHP-FPM Configuration Nginx
    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        # fastcgi_pass unix:/run/php-fpm/php-fpm.sock; # webtatic
        fastcgi_pass unix:/run/php-fpm/www.sock; # remi
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }

    location ~ /\.ht {
        deny all;
    }
}
  • sudo systemctl reload nginx

  • ldd aapt 查看一下依赖有没有问题

  • yum install libpng12

  • yum install unzip 安装unzip,用于解压图标

aapt需要有执行的权限,添加一下

  • chmod +x ./aapt

添加定时任务

crontab -e
* * * * * cd /var/www/myproject/lxstore_center/admin-dev && php artisan schedule:run >> /dev/null 2>&1

其他

云数据盘挂载
首先要初始化。然后执行命令
lsblk
如果出现如下内容

NAME   MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
vda    253:0    0   40G  0 disk 
└─vda1 253:1    0   40G  0 part /
vdb    253:16   0    1T  0 disk 
└─vdb1 253:17   0 1023G  0 part 

说明1023G的数据盘还没有挂载
执行 mount /dev/vdb1 /mnt/data 进行挂载
没有目录自己创建
执行 df -h 可以看到挂载的数据盘

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容