• 上一篇: (无)

分类: PHP Laravel Linux

从0开始在腾讯云部署laravel5.4示例项目


作者:朱培鑫

时间:2018-01-02

项目部署环境

  • CentOS 7.3 64位
  • Nginx 1.12.2
  • Mysql 5.5.56
  • PHP 7.1.7 >= 5.6.4
  • Laravel 5.4
  • PHP扩展:OpenSSL,PDO,Mbstring,Tokenizer,XML

系统安装

1.点击页面上的重装系统按钮,开始进行系统重装

1.jpg
2.选择公共镜像CentOS 7.3 64位,登录方式暂时选择密码登录,并设置密码

2.jpg
3.点击开始重装,待监控/状态出显示运行中,系统安装完成

3.jpg

我选用的主机配置如下:
1核 1GB 1Mbps (腾讯云学生机)
系统盘:普通云硬盘(50G)
网络:基础网络

SSH密钥配置

1.生成密钥,打开本地终端,这里需要你的本地支持ssh命令,建议安装cmder,Windows的cmd是无法生成的,输入命令 ssh-keygen -t rsa -C "24******81@qq.com" 然后按回车键,双引号里的邮箱换成自己的
2.按回车保存到默认位置,再稍等出来提示输入密码短语,输完按回车要输两遍,它用来加密私钥,也就是以后使用私钥的时候要输这个密码建议为空即可,设置的密码的话,以后还要每次在建立连接时输入密码
3.稍等提示成功,密钥存放在自己主文件夹C:Usersxxx .ssh 的.ssh文件夹中
打开文件管理器,显示隐藏文件后,可以看到这个文件夹中有两个文件,一个私钥一个公钥,id_rsa 是密钥,id_rsa.pub是公钥
4.创建方式:使用已有公钥,密钥名称:只支持英文大小写、数字和下划线,,输入公钥:添加好你的公钥点击确定按钮完成密钥添加
4.jpg
5.返回云主机页面,点击右侧操作->更多->密码/密钥->加载密钥
5.jpg
6.勾选密钥名称,添加对应的密钥
6.jpg
7.点击同意强制关机->去调整
7.jpg
8.等待密钥下发完成

LNMP 环境安装

1.登录我们的云服务器,windows下推荐使用Cmder / Xshell[以下称终端] 进行服务器连接
打开终端输入命令ssh root@xx.xx.xx.xx你的服务器公网IP[在云主机控制台主IP地址栏里,包含一个公网IP,一个内网IP]
8.jpg
2.这里我们选择安装脚本进行安装,推荐使用来自[ https://lnmp.org/ ]的安装脚本,极力推荐完整版,下载版极有可能因为网络问题导致部分资源包下载失败
9.jpg
3.根据地址进行下载,在终端输入wget http://soft.vpser.net/lnmp/lnmp1.4-full.tar.gz,等待下载完成,下载后的压缩包存放于/root目录下
10.jpg
4.下载完成后,ls命令查看是否存在lnmp1.4-full.tar.gz,存在输入命令tar -zxvf lnmp1.4-full.tar.gz解压压缩文件至当前目录,等待解压完成
11.jpg
5.解压完成,cd lnmp1.4-full查看目录结构
以下注意事项以及安装内容引用自[ https://lnmp.org/install.html ],并加以说明

系统需求:

  • CentOS/RHEL/Fedora/Debian/Ubuntu/Raspbian/Deepin Server/Aliyun/Amazon/Mint Linux发行版
  • 需要5GB以上硬盘剩余空间,MySQL 5.7,MariaDB 10至少9GB剩余空间
  • 需要128MB以上内存(如果为128MB的小内存VPS,Xen的需要有SWAP,OpenVZ的至少要有128MB以上的vSWAP或突发内存),注意小内存请勿使用64位系统!
  • 安装MySQL 5.6或5.7及MariaDB 10必须1G以上内存!。
  • VPS或服务器必须已经联网,且必须设置的是网络源不能是光盘源,同时VPS/服务器 DNS要正常!
  • Linux下区分大小写,输入命令时请注意!
  • CentOS 5,Debian 6及之前版本其官网已经结束支持无法使用!

6.终端输入./install.sh进行安装。
7.运行上述LNMP安装命令后,会出现如下提示: 需要注意的是MySQL 5.6,5.7及MariaDB 10必须在1G以上内存的更高配置上才能选择!
12.jpg
8.输入对应MySQL或MariaDB版本前面的序号,回车进入下一步,这里我们选择mysql5.5.56进行安装。
9.需要设置MySQL的root密码(不输入直接回车将会设置为root)如果输入有错误需要删除时,可以按住Ctrl再按Backspace键进行删除(个别情况下是只需要Backspace键)。输入后回车进入下一步
10.询问是否需要启用MySQL InnoDB,InnoDB引擎默认为开启,一般建议开启,直接回车或输入 y ,如果确定确实不需要该引擎可以输入 n,输入完成,回车进入下一步。
11.注意:选择PHP7等高版本时需要自行确认是否与自己的程序兼容,这里我们选用最新的PHP版本进行安装7.1.7,必须安装PHP版本 >= 5.6.4,因为我们将要利用laravel5.4进行开发,其要求PHP版本 >= 5.6.4,输入要选择的PHP版本的序号,回车进入下一步,选择是否安装内存优化:不安装。

13.jpg
12.提示"Press any key to install...or Press Ctrl+c to cancel"后,按回车键确认开始安装。
13.LNMP脚本就会自动安装编译Nginx、MySQL、PHP、phpMyAdmin、Zend Optimizer这几个软件。安装时间可能会几十分钟到几个小时不等,主要是机器的配置网速等原因会造成影响。等待安装完成

14.jpg
14.安装完成,本次安装用时45分钟 ,按Ctrl + C退出
15.jpg

Nginx基本配置

1.进入Nginx目录 cd /usr/local/nginx 进入配置文件目录 cd conf,随时使用ls 或者 ll查看目录结构
2.对于第一次使用Nginx的同学,建议将Nginx的配置文件备份一份,防止误操作导致Nginx无法启动,使用命令 cp nginx.conf nginx.backup.conf
vim nginx.conf开始编辑Nginx配置文件,以下为修改项,其他的配置保持默认选项,这里我们将项目根目录以及日志统一存放于/data/目录下,修改配置error_log /data/logs/nginx_error.log,将Nginx的日志存放在/data/logs目录下
删除如图所示,默认serve配置,vim快捷键,删除多行Esc键 输入:60,101d删除第60-101行,Esc键 输入:wq保存退出
16.jpg
3.进入虚拟主机配置目录 cd vhost/,开始编辑配置文件,不存在文件则会自动创建vim demo.conf,配置如图所示 root 配置应该指向你的网站跟目录,这里为后面的laravel项目做准备,若先进行接下来的测试,应该将根目录指向/data/project/demo
17.jpg
4.创建项目目录

    cd /data 
    mkdir logs project project/demo
    cd /data/logs 
    chmod -R 777 /data/logs
    vim nginx_error.log 保存退出
    nginx -t
    nginx -s reload
    cd /data/project/demo
    vim index.php
    index.php内容
    <?php
        echo phpinfo();
    ?>
    Nginx常用命令列表
    nginx -t 测试Nginx配置是否正确
    nginx -s stop 停止Nginx
    nginx 启动Nginx
    nginx -s reload 重新启动Nginx

5.这时在浏览器地址栏访问服务器的公网IP,如果看到如图所示内容,我们的LNMP已经可以正常工作了
18.jpg

Laravel项目发布

1.下载laravel5.4 示例文件,下载地址 [ http://laravelacademy.org/resources-download ],下载5.4版本,右键复制链接地址,在服务器中键入cd /data/project wget http://download.laravelacademy.org/laravel54.zip下载文件,其他版本不做说明,可以自己尝试
19.jpg
2.

    unzip laravel54.zip
    rm -rf demo
    mv laravel54 demo
    chmod -R 777 demo

3.设置open_basedir允许php操作根目录父级文件

    cd /usr/local/nginx/conf
    vim fastcgi.conf
fastcgi_param PHP_ADMIN_VALUE "open_basedir=/data/project/demo/:$document_root/:/tmp/:/proc/";

20.jpg

nginx -t
nginx -s reload

4.这时在浏览器地址栏访问服务器的公网IP,如果看到如图所示内容,至此我们的laravel5.4项目已经成功部署到我们的腾讯云服务器上了。
21.jpg

5.这时只有首页是可以正常访问的,我们需要添加

location / {
    try_files $uri $uri/ /index.php?$query_string;
}

22.jpg

( 本篇完 )