Ela's Notes
So Be It


Hitokoto ·
[Laravel学习笔记][1]Laravel的安装及在云端开启服务
Elatis   后端, Laravel, 学习笔记, Linux   1460 | 文章字数: 4025 字

Update 18-05-20: 新增了将composer添加到全局可用的方法,和安装composer的命令放到一起了

写在前面

本文将要使用一些关于nginx的配置,如果你还不知道怎么安装使用nginx,可以先看看这篇文章:
RE:从零开始配置Ubuntu+nginx+php服务器

laravel在云端(Ubuntu16.04LTS)的安装

配置php

确认你的云端PHP版本为7.0以上,并安装了以下依赖
PHP OpenSSL 扩展
PHP PDO 扩展
PHP Mbstring 扩展
PHP Tokenizer 扩展
PHP XML 扩展

安装方式一般都十分简单,只需要sudo apt-get install php7.0-对应插件名即可安装
如果不确定你的php都安装了哪些插件,可以在你开的虚拟主机(相信大家都会开了)上新建一个phpinfo.php,并在里面填上

<?php
    phpinfo();
?>

然后再访问这个文件,就可以看到你的php信息啦
要确认你有没有安装相应插件,只需要在如上所述的页面上查找插件名即可.

安装composer

进入你服务器上的/bin目录,依次运行以下命令:

# php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"
# php -r "if (hash_file('SHA384', 'composer-setup.php') === '544e09ee996cdf60ece3804abc52599c22b1f40f4323403c44d44fdfdd586475ca9813a858088ffbc1f233e9b180f061') { echo 'Installer verified'; } else { echo 'Installer corrupt'; unlink('composer-setup.php'); } echo PHP_EOL;" //这一步可以省略
# php composer-setup.php
# php -r "unlink('composer-setup.php');"
# mv composer.phar /usr/local/bin/composer        //将composer添加到全局可执行文件

然后使用composer -v确认一下是否已经安装
想要了解更多信息,可以去composer的官网查看:https://getcomposer.org/

下载laravel数据包

注意:如果你使用的是国内的服务器,需要先将composer镜像换为国内镜像:

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

顺便贴一个国外镜像的地址:

https://packagist.org

换好合适的源后,就可以开始下载laravel了.
运行以下指令即可下载

composer global require "laravel/installer=~1.1"

实例化laravel项目

首先进入到合适的目录,运行以下指令:

composer create-project laravel/laravel 项目名 --prefer-dist "5.5.*"

其中项目名替换成你想要的名字
使用该指令会在你当前所在目录下创建一个名为项目名的目录,并在里面安装laravel
如果项目名目录不是空目录会安装失败

到此,laravel的安装就告一段落

在云端开启服务

我们都知道要在本地开启服务只需要使用以下指令:

artisan serve --port=3000

然而在云端开启的话需要进行一些额外的配置

配置虚拟主机

打开你的虚拟主机配置文件,一般是在/etc/nginx/conf.d
然后先按以下代码配好

server {

        listen 端口号1; #监听的端口号1

        location / {

                proxy_pass http://ip:端口号2; #应用部署的服务器及服务的端口号2

        }

}

注意:记得在云服务商那开启端口2的TCP协议进站出站规则
然后再加上其它的配置
相信大家这一步应该都不会有问题,我就直接放示例代码了

server {
        listen  8965;
        root /var/mylaravel;
        server_name elatisy.top www.elatisy.top;
        index index.html index.php;
        access_log /var/mylaravel/logs/access.log;
        error_log /var/mylaravel/logs/error.log;
        location / {
                proxy_pass http://138.68.226.187:8964;

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

                client_max_body_size    10m;
        }
        location ~ \.php$ {
                fastcgi_split_path_info ^(.+\.php)(/.+)$;

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

                include fastcgi_params;
        }
}

然后重启一下nginx服务:systemctl restrat nginx
如果报错了则检查一下代码,以及端口是否被占用
特别说明:

  • access_logerror_log需要创建好项目之后进去手动添加,或者你直接注释或者删掉这两句也行
  • 站点根目录/var/mylaravel指的是之前实例化laravel项目时创建的目录名,里面应该包含有项目文件,就像这样:

开启服务

回到你的laravel安装目录下,运行以下指令:

artisan serve --port=应用端口号 --host=应用部署的ip

例如我就是这样的:

artisan serve --port=8964 --host=138.68.226.187

如果出现一行绿油油的看起来就感到十分舒适的东西,就说明没有问题

之后就可以直接访问域名:端口号来试试了,如果出现laravel的初始界面就表明成功了

当然也可以通过域名:端口号访问,如果你想直接通过域名访问可以看一下这篇文章:域名隐式/显式URL转发的配置方法
值得一提的是如果直接通过域名访问且没经过重定向等操作的话默认是指向服务器的80端口的,所以你上面填的端口号2如果是80的话应该可以直接通过域名或者ip地址访问(没尝试过,因为80端口用于这个博客了)

然后按CTRL+C关闭服务

当然这种开启进程的方法也会在结束与服务器的会话后结束进程
如果想要在后台长久的运行,就需要让它在后台运行:

nohup php artisan serve --port=应用端口号 --host=应用部署的ip &

等待它显示pid后,按回车就可以回到命令行了
要关掉的话就需要使用ps指令来查找它的PID,然后kill 相应PID来结束进程
一般自己做测试的话并不需要这么做,在自己需要的时候开启即可.
注意:如果你想要让它一直在后台运行,退出ssh软件前先使用exit正常退出当前用户

到此部署laravel的操作就结束啦~感谢阅读

评论

发送失败 可能是您的发言太频繁或联系方式有误

提交评论

Theme LightWhite Made by Archeb With
自豪地使用Typecho
© 2017 - 2020 elatis.cn 版权所有 ICP证: 冀ICP备18008017号-1
全站共 21.03 W 字
博客已经运行了