大家好~
继续昨天的主题,
今天要来把 Laravel 部署上 Server,
顺便设定一下 MySQL 与 Nginx。
先来为我们的专案建立一位专属 User 吧。
sudo mysql -u root
CREATE DATABASE `ironman2021`;
CREATE USER 'laravel'@'localhost' IDENTIFIED BY 'password';
// 下面这段给予 laravel 这位 User 在 ironman2021 这个资料库的所有资料表拥有所有权限
GRANT ALL ON ironman2021 . * TO 'laravel'@'localhost';
再来将专案 clone 下来~
使用 git clone
下载专案 ,
这边我是将专案放在 /var/www
下。
sudo git clone https://github.com/rrrui0812/Laravel-LINEBot.git ironman2021
// 将 ubuntu 加到 www-data 这个群组
sudo usermod -a -G www-data ubuntu
// 修改拥有者与群组
sudo chown -R ubuntu:www-data /var/www/ironman2021
sudo chown -R www-data:www-data /var/www/ironman2021/storage
composer install
sudo apt install npm
npm install
cp .env.example .env
vim .env
把刚刚新建的 MySQL user 与 Database 写进 .env
。
php artisan key:generate
这个 Key 可以在 .env
内的 APP_KEY
看到。
sudo php artisan migrate
cd /etc/nginx/sites-available
// 复制 default 来修改使用
sudo cp default ironman2021
sudo vim ironman2021
server {
listen 80;
root /var/www/ironman2021/public;
index index.php index.html;
server_name 127.0.0.1;
location / {
try_files $uri $uri/ =404;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php8.0-fpm.sock;
}
location ~ /\.ht {
deny all;
}
}
测试一下,
确定 Nginx 可以正常执行。
sudo nginx -t
为刚刚建立好的 ironman2021
在 sites-enabled
建立连结,
并把 sites-enabled
的 default
删除。
sudo ln -s /etc/nginx/sites-available/ironman2021 /etc/nginx/sites-enabled/
sudo rm /etc/nginx/sites-enabled/default
重启 nginx。
sudo systemctl restart nginx
在浏览器上输入 IP,
看看有没有出现 Laravel 的预设首页。
成功~
那麽今天就先这样啦~
大家明天见!
若文章有任何问题,
还请大家不吝赐教!
>>: [Day22] Flutter GetX with Dio (一)
Vue提供了一些常用的修饰符,它可以直接套上,减少程序码,尽量的单纯处里逻辑 .stop .prev...
您说的核心系统在哪? 如果单看法规内容,可能会觉得防护措施写的简单,但要全部都纳入也很吓人。对於这点...
图形使用者介面(Graphical User Interface,GUI) 指透过点击图示执行隐含的...
我们前面已经认识了函式作用域,也了解了回调函式,但有时候会产生意想不到的事情,造成内存问题,其中一...
Code 要 Review,Infrastrcture 岂不 Review?吾未见其明也 CI/CD...