美文网首页
LAMP环境下的Laravel项目部署

LAMP环境下的Laravel项目部署

作者: 笨熊公子 | 来源:发表于2017-06-02 18:36 被阅读0次

背景


笨熊人如其名,有些愚钝。仅仅是将本地写好的Laravel项目部署到服务器上,就花了整个端午假期。痛定思过后,笨熊决定开始记录下自己曾经踩过的坑,一方面防止自己再次遇到相同的问题时手足无措,一方面希望能够帮助和我一样的小白们解决问题,如有错误,尽请指正。

环境简介


操作系统:Linux Ubuntu 16.04

Web服务器:Apache / 2.4.18 (Ubuntu)

编译引擎:PHP 7.0.18

数据库:Mysql 5.7.18

数据库管理工具:PhpMyAdmin


一、上传方式


代码的上传可以分两种方法:

1.使用FTP软件或SFTP软件

优点:便捷,界面友好,可视化

缺点:上传速度受服务器带宽限制,大文件上传耗时长

这里我使用的软件是WinSCP以及PhpStorm,服务器是腾讯云1元学生机,配置为1核 1GB 1Mbps,上传27M的项目代码耗时约为一个半小时。

2.使用Git

优点:快速,方便修改

缺点:对新手而言操作繁琐,界面不友好

本篇文章我着重讲解方法二:使用Git

二、项目搬家


这里我们使用Github作为代码托管平台。

1.在github上创建项目

第一步,创建Github新账户并登陆 第二步,新建仓库 第三步,填写名称,简介(可选),勾选Initialize this repository with a README

2.本地上传项目至Github

Git下载地址:git-scm.com/downloads

(1)下载并安装完成后,在【开始】菜单,打开Git Bash。

(2)配置用户名和邮件地址

我们需要设置一个用户名和邮箱,当本地仓库至Github时后,在Github会显示上传者。

在Git Bash中输入以下命令。假设用户名是ClumsyBear,邮箱是clumsybear@gmail.com

git config --global user.name "Clumsybear"

git config --global user.email "clumsybear@gamil.com"

(3)生成SSH密匙

在Git Bash中输入以下命令。

ssh-keygen -t rsa -C "user@email.com"

注意:这里的user@email.com请使用注册Github时所使用的邮箱。

不建议新手设置密码,三个连续回车后,会在~/.ssh下生成两个文件:私钥id_rsa和公钥id_rsa.pub。

(4)添加SSH公钥

第一步:

在右上方账户里找到Settings

第二步:

左侧菜单栏中选择SSH and GPG keys,在SSH keys栏右上角选择New SSH key

第三步:

找到本地.ssh文件夹,复制公钥id_rsa.pub的内容,粘贴至Key栏中,Title栏内容自选

请不要使用Windows自带的记事本,最好使用开源软件Notepad++打开id_rsa.pub

下载链接:notepad-plus-plus.org/download/v7.4.1.html

(5)测试公钥是否添加成功

在Git Bash中输入以下命令:

ssh -T git@github.com

如果是第一次连接,会提示是否continue,输入yes。出现You've successfully authenticated, but GitHub does not provide shell access,则表示已成功连接Github。

(6)生成迁移文件(若已生成过可忽略此步骤)

在本地终端中进入项目文件,输入以下命令

php artisan make:migration create_users_table

其中users改为自己的用户名,table改为表名,生成文件会储存在database\migrations\中。

(7)建立仓库,上传项目

在Git Bash中进入项目根目录,输入以下命令:

git init

出现Initialized empty Git repository in C:/project/.git/,则表示成功建立仓库。

git add .

注意不要忽略后面的 . ,此操作是把项目文件夹下面的所有文件添加到仓库。

git commit -m "备注信息"

此操作是把添加的文件提交到仓库。

git remote add origin git@github.com:yourName/yourProject.git

此操作是添加远程地址,地址获取方式如下图所示:

SSH获取方式

git push -u origin master

此操作是把本地仓库push到Github上。

【注意】如果出现以下错误:

出现这个错误的主要原因是Github项目中的README.md文件不在本地代码目录中

只需要执行下列代码后再次push即可:

git pull --rebase origin master


3.下载项目至服务器(需配置LAMP环境)

(1)下载Git至服务器(服务器预装Git的可以忽略这一步)

命令行如下:git-scm.com/download/linux

(2)下载项目

执行以下命令:

cd /var/www/html

sudo chmod 777 /var/www/html

git clone https://github.com/yourName/yourProjects

地址获取方式如下:

红色方框处可切换SSH和HTTPS,这里我们选择HTTPS

执行后/var/www/html目录下会出现一个与Github项目相同名字的文件夹,这就是我们的项目文件了。

(3)下载安装composer

Laravel使用Composer管理依赖,所以我们需要执行以下命令下载并安装Composer:

cd usr/local/bin

sudo curl -s https://getcomposer.org/installer | sudo php

sudo chmod a+x composer.phar

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

sudo composer.phar self-update

composer --version

(4)安装项目

执行以下代码:

composer install

三、配置Laravel


1. 设置storage文件夹权限:

chmod -R 777 storage

chmod -R 777 bootstrap/cache

2. 生成.env文件

mv .env.example .env

3. 应用Key:

php artisan key:generate

4. 配置.env文件:

sudo vim .env

配置项目如下:

.env默认配置

需要修改的项目有:

APP_DEBUG=false

DB_HOST=localhost

DB_DATABASE=yourDatabase

DB_USERNAME=yourUsername

DB_PASSWORD=yourPassword

REDIS_HOST=localhost

5. 重启服务器:

service apache2 restart

6. 浏览器访问

Ubuntu地址/项目名/public/

即可见项目主页。

7. Apache2 路由配置

此时你可能遇到一个问题,那就是只有项目主页可见,而访问其他页面时会报404错误,这是因为laravel的入口文件在public文件夹下,这时我们需要配置Apache2路由:

(1)开启rewrite模板

sudo a2enmod rewrite

(2)修改修改/etc/apache2/sites-available/000-default.conf

sudo vim /etc/apache2/sites-available/000-default.conf

修改此文件

在下方添加:

<Directory "/var/www/html">

Allowoverride All

</Directory>

【注意】DocumentRoot是根目录,我们可以把他修改成项目文件夹下public文件夹,这样服务器的默认主页就变成了项目的默认主页,但是<Directory "/var/www/html">中的目录一定要和DocumentRoot保持一致。

(3)重启Apache2

service apache2 restart

这样,我们的laravel项目就成功部署到服务器上了!

相关文章

  • LAMP环境下的Laravel项目部署

    背景 笨熊人如其名,有些愚钝。仅仅是将本地写好的Laravel项目部署到服务器上,就花了整个端午假期。痛定思过后,...

  • laravel安装配置

    由于laravel需要许多配置环境,所以本教程从搭建lamp开始 环境更新 lamp搭建 1.安装apache2 ...

  • centos7下使用源码安装禅道

    禅道是非常好用的一款开源项目管理软件,禅道是在LAMP架构下开发的,所以安装禅道最主要的就是部署一套LAMP环境。...

  • laravel与fis3开发环境部署

    laravel与fis3开发环境部署 测试环境部署 开发流程 1.laravel安装 方式一:composer安装...

  • LAMP环境部署物联网项目

    今天来在LAMP环境下搭建一个PHP项目,开始之前,先来普及下物联网常识: 物联网,即Internet of Th...

  • Debian下Laravel环境部署

    本次部署是在Debian9x64的虚拟机下完成的,WEB服务器使用的是Apache service。 安装php7...

  • 20171009 LAMP(一)

    LAMP介绍php详细使用CentOS 7环境下部署phpmyadminCentOS 7环境下部署wordpres...

  • docker lamp

    启动lamp容器(如果没有lamp镜像,docker会自动获取) 部署的php项目路径+名称:/Users/yan...

  • ubuntu下配置laravel开发环境(lamp)

    ubuntu下配置laravel开发环境 安装apachesudo apt-get install apache2...

  • ansible实现主/备模式高可用

    使用ansible 来在centos 7系统环境下部署实现nginx+keepalived+LAMP环境 一、环境...

网友评论

      本文标题:LAMP环境下的Laravel项目部署

      本文链接:https://www.haomeiwen.com/subject/ipfsfxtx.html