加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

Laravel学习笔记(一)在Cloud Studio中搭建开发环境

发布时间:2020-12-14 19:59:08 所属栏目:大数据 来源:网络整理
导读:Laravel学习笔记(一)在Cloud Studio中搭建开发环境 此前一直使用LAMP环境,对nginx没有多少了解。这次初次LNMP环境下搭建laravel开发环境,踩了不少坑,集齐了502,500,404,403,200五种状态码(滑稽),特此记录,供以后查阅。 1.在Cloud Studio中建立

Laravel学习笔记(一)在Cloud Studio中搭建开发环境

此前一直使用LAMP环境,对nginx没有多少了解。这次初次LNMP环境下搭建laravel开发环境,踩了不少坑,集齐了502,500,404,403,200五种状态码(滑稽),特此记录,供以后查阅。

1.在Cloud Studio中建立工作空间

Cloud Studio是腾讯云提供的基于浏览器的IDE,用户可以基于coding中的项目建立工作空间,相当于一个半临时的服务器。


为了建立所需的开发环境,在coding中建立项目test(不是必须的),然后建立工作空间。运行环境选择Default(Ubuntu 16.04)。创建后启动并进入工作空间(示意图)。


2.安装并配置LNMP环境

首先更新apt:

sudo apt-get update

然后就可以安装nginx了:

sudo apt-get install nginx

sudo service nginx start

此时nginx已经安装好。点击页面最右侧的访问链接,建立一个80端口的临时链接,打开应该可以看到nginx的默认页面了。

下面安装PHP7.1。最新的laravel需要php7.1及以上版本的支持,同时还需要一些其他的php扩展包(将在下面列出).


首先添加ppa源,因为ubuntu的apt-get软件源只有php7.0版本

sudo apt-add-repository ppa:ondrej/php

sudo apt-get update

然后安装php7.1和相关扩展

sudo apt-get install php7.1 php7.1-fpm php7.1-mcrypt php7.1-gd php7.1-mbstring php7.1-mysql php7.1-zip php7.1-xml

下面修改nginx的配置文件使其支持php

sudo vim /etc/nginx/sites-available/default

修改如下内容

location ~ .php$ {

include snippets/fastcgi-php.conf;

#

# # With php7.0-cgi alone:

# fastcgi_pass 127.0.0.1:9000;

# # With php7.1-fpm:

fastcgi_pass unix:/run/php/php7.1-fpm.sock;

fastcgi_split_path_info ^((?U).+.php)(/?.+)$;

fastcgi_param PATH_INFO $fastcgi_path_info;

fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;

}

最后三行是为了启用pathinfo的功能


另外,我们还要修改这里

location / {

# First attempt to serve request as file,then

# as directory,then fall back to displaying a 404.

try_files $uri $uri/ /index.php?$query_string;

}

这里是按照laravel的document要求,否则之后设置route会出404。


最好再修改一下/etc/php/7.1/fpm/php.ini,把display_errors设置为On,方便以后调试php程序。


重启服务:

sudo service php7.1-fpm restart

sudo service nginx restart

现在我们进入/var/www/html建立test.php,输入

再打开访问链接,访问test.php,如果一切正常应该能看到php的信息页了。

最后安装mySQL,这不是重点,如果有需要再启动服务就好了,先装上。

sudo apt-get install mysql-server mysql-client

3.安装composer和laravel

laravel是需要通过composer安装的。为了获得最新版本,我们不通过apt-get安装composer(那个安装出来貌似是1.0.0-beta),而是这样:

curl -sS https://getcomposer.org/installer | php

sudo mv composer.phar /usr/local/bin/composer

可以查看一下版本

composer -v

然后我们要安装laravel。由于国内网络环境的问题(严肃脸),我们是几乎没办法访问composer的软件源的,需要使用国内镜像Packagist.

composer config -g repo.packagist composer https://packagist.phpcomposer.com

然后就可以愉快的安装laravel了~(先装一下unzip,否则会报warning)

sudo apt-get install unzip

composer global require laravel/installer

这样就安装好了。确认一下刚才没有出现警告或者报错。


然后我们要让laravel可以直接以命令的形式运行而不是每次都要到~/.composer/vendor/bin下面去找那个laravel程序。首先可能会想到环境变量,然而Cloud Studio的这个终端比较特殊,我们知道环境变量在登出后是会重置的,而Cloud Studio的终端由于网络不稳定或其他一些原因经常悄悄登出,到你用的时候再悄悄登录。如果修改登录时自动运行的脚本,貌似也不行(我也不知道为什么)。总之,环境变量弄起来很麻烦。我采用的办法是把laravel文件软链接到/usr/local/bin

cd /usr/local/bin

sudo ln -s /home/coding/.composer/vendor/bin/laravel laravel

可以试试在随便什么目录下运行laravel

cd ~

laravel

应该能看到彩色的输出而不是command not found一类的东西

4.建立测试项目

准备工作已经完成了,可以建立一个项目测试了。

cd ~/workspace

laravel new test

如果一切顺利的话,应该能在Cloud Studio左侧的文件树中看到项目文件了。注意!留意终端的输出,不要被最后那行Build something amazing还是什么的骗了!如果发现有不正常的地方,比如fail,error,warning之类的,一定要先解决,免得后续步骤中浪费时间。可以直接把建立的项目目录rm -rf掉,解决了以后再重新建立一个。按照我自己的情况,到这里都没什么问题。


然后要修改目录权限,否则会报403.关于权限的具体要求可以参看laravel的文档,我这里懒省事直接设置777了

sudo chmod -R 777 ~/workspace/test

接下来,我们要设置nginx的网页根目录位置,否则是没办法通过那个访问链接访问项目的。

sudo vim /etc/nginx/sites-available/default

把root /var/www/html;改成root /home/coding/workspace/test/public,不一定完全一样,总之就是刚刚建立的项目文件夹下面的public目录。


再次启动80端口的访问链接,如果一切正常,应该能看到Laravel的欢迎页了。这个小清新风格的页面还是很符合我的审美的(^_^)


如果出现502错误,首先重启php7.1-fpm和nginx两个服务,因为Cloud Studio很会抽风,你一段时间不动它它就悄悄重启了。

sudo service php7.1-fpm restart

sudo service nginx restart

如果还是不行,检查第2步中LNMP环境的配置是否有问题。

如果出现500错误,检查第3步和第4步,尤其是第4步中建立项目时的输出内容,如果有任何的fail/error/warning等一定要解决。

如果出现403错误,那八成是目录权限的问题,实在不行就简单粗暴777吧。

到这里如果成功了,就基本没什么问题了。可以到项目文件夹下的routes/web.php添加一个新路由,测试一下路由功能是否正常。

Have fun!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读