laravel一、Laravel云开发环境搭建

laravel 云开发环境搭建

lnmp 云环境部署

lnmp 指的是 Linux+Nginx+Mysql/MariaDB+Perl/PHP/Python 一组常用来搭建动态网站或者服务器的开源软件

准备

云服务器

华为云或者其他
可以从华为云直接连接服务器也可以本地连接

本地连接远程服务器

ssh root@ip

密码
连接成功

服务器运维面板——宝塔

https://www.bt.cn/ 注册登录

云开发服务器部署

连接远程云服务器

配置密钥

cd ~/.ssh

ssh-keygen -t rsa

cat ~/.ssh/id_rsa.pub

vim ~/.ssh/authorized_keys
:wq

ssh root@ip
不用输入密码

安装宝塔

yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh ed8484bec

安装成功之后显示下面的信息,打开控制面板
外网面板地址:
内网面板地址:
username:
password:
打开之后,LNMP 推荐选择之后一键安装,我的配置如下:
Nginx 1.20
MySql 5.6
Pure-Ftpd 1.0.49
PHP 7.3
phpMyAdmin 4.9

验证安装

mysql --version
nginx -v

拉取项目

cd /home/www/
mkdir test
cd test
# 拉取项目
git clone git@github.com:laravel.git
# 注意在服务器拉取代码时,要在github上配置密钥
cd laravel
# 执行
composer install
# 成功之后执行
cp .env.example .env
# 生成key
# 获取key的命令
php artisan|grep key
# 显示 key   key:generate  Set the application key
php artisan key:generate
# 显示 Application key set successfully.
# 查看key
cat .env

打开宝塔配置

选择网站 -> 添加网站
添加域名
设置项目根目录 在服务器 laravel 文件夹下执行 pwd 获取文件夹路径
提交
重新打开,点击设置
选择网站目录 -> 设置网站目录和运行目录
运行目录 应该是 /public

nginx 配置

选择配置文件
在 root /home/www/test/laravel 下添加;

location / {
  try_files $uri $uri/ /index.php$is_args$args;
}

保存

配置本地代理,下载 SwitchHosts,如下配置

服务器外网ip  宝塔配置的域名

刷新页面,部署成功

如何快速调试

下载 PhpStorm
链接:https://pan.baidu.com/s/1VvNGrtQewQX158PcH5FgSw
提取码:awrs
打开 PhpStorm

配置如下

工具(tools)——>Deployment——》Configuration
Connection

tool 工具 -> Deployment
type: SFTP
Host: IP
User Name: root
Authentication type: 密钥对 Open:SSH 或 PuTTY
Provate key file: 把服务器 key 下载到本地 id_rsa,配置 id_rsa 路径

Mappings

Local path: 项目地址
Deployment path:/
Web path:/

测试连接

点击 Test Connection
Successfully connected to 服务器外网 IP

工具(tools)——>Deployment——》Automatic Upload(always)
设置 √
测试

打开 routes/webphp,修改如下

Route::get('/', function () {
   return 1234;
    // return view('welcome');
});

刷新页面,实时更新

忘记宝塔面板地址或者重启服务器之后宝塔面板地址变更查询

/etc/init.d/bt default
# 外网面板地址:
# 内网面板地址:
# *以下仅为初始默认账户密码,若无法登录请执行bt命令重置账户/密码登录
# username:
# password:

执行 composer install 时可能出现的报错问题

报错 1 putenv() has been disabled for security reasons

原因:宝塔自身会禁用 putenv 函数
解决办法:打开宝塔面板,删除 putenv 和 proc_open 就行了

报错 2 No lock file found. Updating dependencies instead of installing from lock file. Use composer update over composer install if you do not have a lock file

Loading composer repositories with package information
Updating dependencies
Your requirements could not be resolved to an installable set of packages.
或者
No composer.lock file present. Updating dependencies to latest instead of installing from lock file. See https://getcomposer.org/install for more information.

解决办法
忽略版本

composer install --ignore-platform-reqs 或者 composer update --ignore-platform-reqs
报错 3 [Symfony\Component\Process\Exception\RuntimeException] The Process class relies on proc_open, which is not available on your PHP installation

同 1,在宝塔禁用函数中删除 proc_open,重启 php

报错 4 - laravel/framework[v7.29.0, …, 7.x-dev] require league/flysystem ^1.1 -> satisfiable by league/flysystem[1.1.0, …, 1.x-dev]
  • league/flysystem[1.1.0, …, 1.x-dev] require ext-fileinfo * -> it is missing from your system. Install or enable PHP’s fileinfo extension.
  • Root composer.json requires laravel/framework ^7.29 -> satisfiable by laravel/framework[v7.29.0, …, 7.x-dev].
    解决办法
    宝塔安装扩展 fileinfo
报错 5 UnexpectedValueException The stream or file “/home/www/mooc/laravel/storage/logs/laravel.log” could not be opened in append mode: failed to open stream: Permission denied

解决办法
https://www.jianshu.com/p/50a0e8bd2f70

# www更改为你的用户组
chown -R $USER:www storage
chown -R $USER:www bootstrap/cache
# 设置目录权限
chmod -R 775 storage
chmod -R 775 bootstrap/cache

主要是设置目录权限的命令
Web 服务器用户和组依赖于你的 Web 服务器和操作系统。找出你的 Web 服务器用户和组使用以下命令的内容。对于 nginx 使用:

ps aux|grep nginx|grep -v grep

用于 apache:

ps aux | egrep '(apache|httpd)'
报错 6 使用 rm 命令时报错 rm: cannot remove ‘laravel/public/.user.ini’: Operation not permitted

解决方法
进入到.user.ini 所在目录,执行:lsattr -a,看到.user.ini 有个’i’属性,代表不得任意更动文件或目录,正是此属性在作祟:
然后执行命令:
chattr -i .user.ini
就可以去除掉此属性,然后我们再执行删除,就可以顺利删除掉了。

总结

1、购买云服务器,修改密码注意安全组端口配置如 80 443 等等,否则连接不通
2、服务器免密登录的设置,生成 key 设置,配置 github 拉去代码用,
3、宝塔安装配置,如 nginx mysql 等,
php 重要的两个扩展 fileinfo redis
禁用函数报错问题
nginx 配置解析路由
4、配置远端,实时更新

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
下面是 Laravel 开发框架开发的基本步骤: 1. 环境搭建 在开始 Laravel 开发之前,需要先搭建好开发环境,包括 PHP 环境、Web 服务器和数据库等。推荐使用 Homestead 或 Valet 等工具来快速搭建开发环境。 2. 创建 Laravel 项目 打开终端,进入工作目录,执行以下命令来创建 Laravel 项目: ``` composer create-project --prefer-dist laravel/laravel myproject ``` 其中,myproject 是项目名称,可以根据实际情况修改。 3. 配置数据库连接 在 .env 文件中配置数据库连接信息,例如: ``` DB_CONNECTION=mysql DB_HOST=127.0.0.1 DB_PORT=3306 DB_DATABASE=mydatabase DB_USERNAME=myusername DB_PASSWORD=mypassword ``` 其中,mydatabase、myusername 和 mypassword 分别是数据库名称、用户名和密码,可以根据实际情况修改。 4. 定义路由 在 routes/web.php 文件中定义路由,例如: ``` Route::get('/', function () { return view('welcome'); }); ``` 其中,'/' 是路由路径,function () 是处理请求的匿名函数,可以返回视图或其他响应。 5. 定义控制器 在 app/Http/Controllers 目录下创建控制器,例如: ``` php artisan make:controller UserController ``` 其中,UserController 是控制器名称,可以根据实际情况修改。 在控制器中定义处理请求的方法,例如: ``` public function show($id) { $user = User::findOrFail($id); return view('user.show', ['user' => $user]); } ``` 其中,show() 是方法名称,$id 是参数,$user 是处理结果,view() 是返回视图的函数。 6. 定义模型 在 app 目录下创建模型,例如: ``` php artisan make:model User ``` 其中,User 是模型名称,可以根据实际情况修改。 在模型中定义数据库表名和字段名称,例如: ``` protected $table = 'users'; protected $fillable = ['name', 'email', 'password']; ``` 其中,$table 是数据库表名,$fillable 是允许批量赋值的字段名称。 7. 定义视图 在 resources/views 目录下创建视图,例如: ``` <!DOCTYPE html> <html> <head> <title>用户信息</title> </head> <body> <h1>{{ $user->name }}</h1> <p>{{ $user->email }}</p> </body> </html> ``` 其中,$user 是控制器传递给视图的数据,{{ $user->name }} 和 {{ $user->email }} 是模板引擎语法,用于输出数据。 8. 运行应用程序 在终端中执行以下命令,启动 Laravel 开发服务器: ``` php artisan serve ``` 在浏览器中访问 http://localhost:8000,即可看到应用程序运行效果。 以上是 Laravel 开发框架开发的基本步骤,开发者可以根据实际需求进行扩展和优化。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值