从零开始部署 Laravel 项目

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

也可以直接使用优惠码: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

这个在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
apt-get install zip unzip

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

DanceSmile

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

HectorChan

安装PHP7.1的时候不行

zy812415556

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

zy812415556

找到错误了...自己的问题

onlyLaravel

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

ilchin

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

JellyBool

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

ilchin

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

JellyBool

好吧,没有 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

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

John Howard

优惠码不能用了?

JellyBool

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

John Howard

我试试,这个挺好用的

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 提示不能是 超级用户 使用,为啥你就可以用 超级用户 来使用呢