新浪云有免费的服务器,我们可以利用这个资源在新浪云上部署自己的网站:
首先进入新浪云;
进入产品=》云应用SAE;
进入了之后再点击进入控制台;
进入控制台之后会出现这个页面,点击创建应用(会弹出一个提示框,点击继续创建);
这时会出现一个部署环境,可以根据自己的需要选择,但是对于初学者建议按照下面的红色框来选择(svg和git会影响后面数据库的上传使用),域名自己取。最后点创建应用;
创建一个版本之后会出现下面的提示,点击上传代码(注意代码的层级关系不要改变),将你的代码打包成.zip结尾的文件,上传;
提示上传成功之后,可以点击编辑代码查看你的代码。注意把你的主页名字改成index.html.
1、创建SAE应用首先进入新浪云SAE界面 http://sae.sina.com.cn/ :
点击“创建新应用”,在创建应用页面填写表单,开发语言选择php 5.6,选中“空应用”,然后点击“创建应用”:
这样在管理应用列表新增了一个“Laravel SAE”应用:
接下来我们点击“Laravel SAE”进入管理应用界面,选择左侧“代码管理”链接上传应用代码:
我们选择使用Git管理代码,点击“Git”按钮,页面跳转到Git安装指南页面:
通过该页面我们得知代码仓库是 https://git.sinacloud.com/laravelsae/ ,接下来我们就可以按照部署说明上传代码到SAE。
2、上传Laravel项目代码到SAE
这里我们选择Github上一个现成的项目 laravel5-on-sae ,该项目针对SAE对Laravel 5.1代码做了特定修改,我们下载其 项目包 并解压到本地。进入解压后的 laravel5-on-sae 目录,删除隐藏的文件夹 .git ,新建一个 config.yaml ,编辑其内容如下:
handle:
- rewrite: if (path ~ "^/$") goto "public/index.php"
- rewrite: if(!is_dir() &&!is_file() &&path~"^(.*)$") goto "public/index.php/$1"
编辑 .gitignore 文件,移除第一行 /vendor (否则使用Git命令忽略该目录,导致找不到/vendor/autoload.php而报错)。
编辑 config/app.php ,移除 providers 数组中的如下这行:
App\Providers\ViewComponentServiceProvider::class,
编辑 app/Providers/EventServiceProvider.php 内容如下:
<?php
namespace App\Providers
use Illuminate\Contracts\Events\Dispatcher as DispatcherContract
use Illuminate\Foundation\Support\Providers\EventServiceProvider as ServiceProvider
class EventServiceProvider extends ServiceProvider
{
/**
* The event listener mappings for the application.
*
* @var array
*/
protected $listen = [
]
/**
* Register any other events for your application.
*
* @param \Illuminate\Contracts\Events\Dispatcher $events
* @return void
*/
public function boot(DispatcherContract $events)
{
parent::boot($events)
}
}
然后在 laravel5-on-sae 目录下执行如下命令:
git init
git remote add sae https://git.sinacloud.com/laravelsae/
git add .
git commit -am 'laravelsae'
git push sae master:1
最后一条命令需要输入的用户名和密码为安全邮箱和安全密码,而不是微博账号和密码。如已启用微盾动态密码,则密码应该是“安全密码”+“微盾动态密码”。
这样我们就可以成功提交代码到Laravel SAE应用。
在开始之前还需要在SAE中初始化Memcache,并且在Storage中新建一个域名为 laravel 的domain。
接下来我们在浏览器中访问 http://laravelsae.sinaapp.com/laravel ,页面显示如下:
说明代码部署成功!
3、测试数据库连接
要在SAE上连接数据库,首先我们需要点击左侧mysql初始化数据库:
选择“共享型MySQL”:
InnoDB目前只对企业开发,所以我们选择MyISAM引擎,然后点击初始化数据库。初始化成功后页面跳转到MySQL管理页面:
SAE中MySQL主机、端口、用户名及密码都用常量表示,我们在代码中也要使用这些常量对数据库进行设置,当然 laravel5-on-sae 这个项目已经为我们做好了设置,甚至配置了读写分离:
这里我去将 prefix 配置设置为 '' ,即不使用任何数据表前缀。
接下来我们对数据库进行测试,还是在MySQL管理页面我们点击“管理MySQL”,页面会跳转到MySQL数据库管理页面,实际上是一个phpMyAdmin页面:
在phpMyAdmin中我们创建一个数据表 posts 并插入两条记录:
接下来我们在项目代码中 routes.php 新增一条路由:
Route::get('database/test','DbController@test')
然后创建控制器 DbController ,编辑其内容如下:
<?php
namespace App\Http\Controllers
use DB
class DbController extends Controller{
public function test(){
$posts = DB::table('posts')->get()
dd($posts)
}
}
然后提交该代码到SAE项目:
git add .
git commit -m 'test'
git push sae master:1
在浏览器中访问 http://laravelsae.sinaapp.com/database/test
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)