从零开始部署 Laravel 项目

第一节视频的广告链接:http://www.vultr.com/?ref=6928781-3B| 96331a8845f944d863c5d79cf6669ed61 |

也可以直接使用优惠码:6928781-3B

第二节视频的内容:

sudo apt-get update 
sudo apt-get install -y language-pack-en-base
locale-gen en_US.UTF-8


sudo apt-get install software-properties-common 
sudo LC_ALL=en_US.UTF-8 add-apt-repository ppa:ondrej/php
sudo apt-get update 


sudo apt-get -y install php7.1
sudo apt-get -y install php7.1-mysql
sudo apt-get install php7.1-fpm

apt-get install php7.1-curl php7.1-xml php7.1-mcrypt php7.1-json php7.1-gd php7.1-mbstring


sudo apt-get -y install nginx

sudo apt-get -y install mysql-server-5.6

第三节视频:

sudo vim /etc/php/7.1/fpm/php.ini  // 将cgi.fix_pathinfo=1这一行去掉注释,将1改为0

sudo vim /etc/php/7.1/fpm/pool.d/www.conf 

// 配置这个 listen = /var/run/php7.1-fpm.sock

sudo service php7.1-fpm restart


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

Nginx 基础配置如下:

        listen 80 default_server;
        listen [::]:80 default_server ipv6only=on;

        root /var/www/laravel-ubuntu/public;
        index index.php index.html index.htm;

        # Make site accessible from http://localhost/
        server_name localhost;

        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;
                # Uncomment to enable naxsi on this location
                # include /etc/nginx/naxsi.rules
        }
        location ~ \.php$ {
                try_files $uri /index.php =404;
                fastcgi_split_path_info ^(.+\.php)(/.+)$;
                fastcgi_pass unix:/var/run/php7.1-fpm.sock;
                fastcgi_index index.php;
                fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
                include fastcgi_params;
        }

还有就是,注意 laravel-ubuntu 这个目录的所有者为: www-data:www-data

最后给,storage 文件夹权限,重启 Nginx

mydzoo

测试一下

wwp66650

教主,这行配置修改是什么用意,能解释下吗?
sudo vim /etc/php/7.1/fpm/php.ini // 将cgi.fix_pathinfo=1这一行去掉注释,将1改为0

yaime 回复 wwp66650

这个在php官方给出的解释是增加安全性

wwp66650

@huangkai49 了解了!谢谢

lar5630

我是用一键包部署的
https://oneinstack.com/

LingYue

.env 文件要怎么配置啊?

聆木听风

按照视频教程,最后访问的时候一只报500错误

聆木听风

这是日志显示的,可以我明明是配置好了的

聆木听风

已经解决了,原来是没有权限,设置下就好了。
还有安装好laravel好后,记得运行 php artisan key:generate

想学算法的程序猴子

@LingYue vim 一个 env 环境,比如
vim .env.local 或者 vim .env.production
通过软链 ln -sf .env.local .env 在不同的环境之间进行切换
.env.whatever 之中用键值对的形式编写你需要的配置信息
比如 base_name = www.yourname.com
然后可以在代码中这样使用这个参数
env(‘base_name’);

烑檤萇

@聆木听风 哪个为权限?

leec

怎么现在视频不能在底部评论了?
还有,之前有推荐过用阿里云,现在怎么开始用vultr了?是更优的选择么?

JellyBool

视频的评论不能加载貌似是因为最近 disqus 被墙了吧,阿里云已经将我坑惨了。。。 @leec

Alex

有时间出本书吧,一定捧场

DanceSmile

The zip extension and unzip command are both missing, skipping.
The php.ini used by your command-line PHP is: /etc/php/7.1/cli/php.ini

JellyBool 回复 DanceSmile
apt-get install zip unzip

大概是这样,你安装一下 zip

DanceSmile

我在服务器上安装composer git下来laravel项目 执行 composer install 就成这样了

HectorChan

安装PHP7.1的时候不行

zy812415556

照着你的视频做的,可是访问还是抱502的错误,是因为fpm的问题吗,但是是照着你的这个系列视频安装和配置的啊

27631022 回复 zy812415556

你的502问题解决了吗。 我和你一样是502错误哦

zy812415556

找到错误了…自己的问题

onlyLaravel

我装了这个环境curl不能用,大家能用吗?

ilchin

我反复设置了好几次了,但还是一样出现 500 错误。不知道该怎么解决 。

JellyBool 回复 ilchin

具体的 500 错误的话,你看 nginx errors log 就可以知道什么问题了

ilchin 回复 JellyBool

嗯,反复测试之后终于弄好了。谢谢 。好像之前是因为没有安装 zip 以及 unzip 这些的原因

JellyBool 回复 ilchin

好吧,没有 zip 和 unzip ,在 git clone 代码的时候应该有提示的吧

linchang

我原来有的项目 git clone 下来
mmap() failed: [12] Cannot allocate memory

mmap() failed: [12] Cannot allocate memory
PHP Fatal error: Out of memory (allocated 172490752) (tried to allocate 20480 bytes) in phar:///usr/local/bin/composer/src/Composer/Json/JsonFile.php on line 266

Fatal error: Out of memory (allocated 172490752) (tried to allocate 20480 bytes) in phar:///usr/local/bin/composer/src/Composer/Json/JsonFile.php on line 266

JellyBool 回复 linchang

估计是服务器的内存和配置太低了吧

linchang 回复 JellyBool

嗯有可能 有什么办法解决 不通过composer update 来安装依赖

John Howard

优惠码不能用了?

JellyBool 回复 John Howard

理论上还是可以用的吧,你需要充值 10 美元才可以使用

John Howard 回复 JellyBool

我试试,这个挺好用的

yuze wang

ubuntu: apt-get update的时候遇到“Hash Sum mismatch”错误
http://blog.csdn.net/xjwjava/article/details/8543768

BiggerHeader

老师为啥我按照你的步骤,到sudo apt-get -y install php7.1
显示
root@iZwz99qnmldt4n744noo9gZ:~# sudo apt-get -y install php7.1
sudo: unable to resolve host iZwz99qnmldt4n744noo9gZ
Reading package lists… Done
Building dependency tree
Reading state information… Done
E: Unable to locate package php7.1
E: Couldn’t find any package by regex 'php7.1’
这个

BiggerHeader

老师我问哈 ,我安装的 composer 提示不能是 超级用户 使用,为啥你就可以用 超级用户 来使用呢

levivi

我照这步骤 ,打开ip显示的apache默认页面是怎么回事呀

JellyBool 回复 levivi

这种应该是系统默认了 apache ,你关掉 apache 应该就好了

levivi 回复 JellyBool

谢谢 。,才看到您的回复

ZZFezreal

请问按照步骤来装,但是在运行php7.1-fpm的 restart命令会出现下面的情况
sudo service php7.1-fpm restart
stop: Unknown instance:
php7.1-fpm start/running, process 25810
reload也没办法使用是怎么回事儿呢?
sudo service php7.1-fpm reload
reload: Unknown instance

numbersi

sudo apt-get -y install php7.1
莫名其妙安装了Apache2~

DevilAngel 回复 numbersi

是的. 系统本身没有安装这个.
但是执行了这个之后, 就给安装了 Apache2

27631022

http://47.94.169.220/ 我配置多遍,是阿里云 提示502 八点gateway错误,如何解决

假如_丶 回复 27631022

兄弟,你是怎么解决的?

Qujinghua 回复 假如_丶

1、 /etc/nginx/sites-available 下的default文件有个配置/php7.1-fpm.sock的地方加一层目录/php/php7.1-fpm.sock;
2 、/etc/php/7.1/fpm/pool.d/www.conf 下同样需要这样的操作;
我也是在摸索中解决的,如果兄弟还没有解决,可以email:893510847@qq.com

corrine76

站长,我自己配置的服务器总是报404错误,访问public是可以返回laravel页面的,但是访问我自己定义路由就报错,之前在我本机上配的是lamp,移到虚拟机用centos lnmp就出现这个问题。看了视频调整配置还是不行。是不是哪儿还没有考虑到?

JellyBool 回复 corrine76

基本就是 nginx 的配置没写对呗

jonise92

使用debian 可以使用以下命令可以得到与ppa同样的功能 在root权限下 (第三第四行是一行命令)

apt-get -y install apt-transport-https lsb-release ca-certificates

wget -O /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg

sh -c ‘echo “deb https://packages.sury.org/php/ $(lsb_release -sc) main” > /etc/apt/sources.list.d/php.list’

apt-get update