从0开始在腾讯云部署laravel5.4示例项目
项目部署环境
- 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.点击页面上的重装系统按钮,开始进行系统重装
2.选择公共镜像CentOS 7.3 64位,登录方式暂时选择密码登录,并设置密码
3.点击开始重装,待监控/状态出显示运行中,系统安装完成
我选用的主机配置如下:
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.创建方式:使用已有公钥,密钥名称:只支持英文大小写、数字和下划线,,输入公钥:添加好你的公钥点击确定按钮完成密钥添加
5.返回云主机页面,点击右侧操作->更多->密码/密钥->加载密钥
6.勾选密钥名称,添加对应的密钥
7.点击同意强制关机->去调整
8.等待密钥下发完成
LNMP 环境安装
1.登录我们的云服务器,windows下推荐使用Cmder / Xshell[以下称终端] 进行服务器连接
打开终端输入命令ssh root@xx.xx.xx.xx
你的服务器公网IP[在云主机控制台主IP地址栏里,包含一个公网IP,一个内网IP]
2.这里我们选择安装脚本进行安装,推荐使用来自[ https://lnmp.org/ ]的安装脚本,极力推荐完整版,下载版极有可能因为网络问题导致部分资源包下载失败
3.根据地址进行下载,在终端输入wget http://soft.vpser.net/lnmp/lnmp1.4-full.tar.gz
,等待下载完成,下载后的压缩包存放于/root目录下
4.下载完成后,ls
命令查看是否存在lnmp1.4-full.tar.gz
,存在输入命令tar -zxvf lnmp1.4-full.tar.gz
解压压缩文件至当前目录,等待解压完成
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以上内存的更高配置上才能选择!
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版本的序号,回车进入下一步,选择是否安装内存优化:不安装。
12.提示"Press any key to install...or Press Ctrl+c to cancel"后,按回车键确认开始安装。
13.LNMP脚本就会自动安装编译Nginx、MySQL、PHP、phpMyAdmin、Zend Optimizer这几个软件。安装时间可能会几十分钟到几个小时不等,主要是机器的配置网速等原因会造成影响。等待安装完成
14.安装完成,本次安装用时45分钟 ,按Ctrl + C
退出
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
保存退出
3.进入虚拟主机配置目录 cd vhost/
,开始编辑配置文件,不存在文件则会自动创建vim demo.conf
,配置如图所示 root 配置应该指向你的网站跟目录,这里为后面的laravel项目做准备,若先进行接下来的测试,应该将根目录指向/data/project/demo
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已经可以正常工作了
Laravel项目发布
1.下载laravel5.4 示例文件,下载地址 [ http://laravelacademy.org/resources-download ],下载5.4版本,右键复制链接地址,在服务器中键入cd /data/project
wget http://download.laravelacademy.org/laravel54.zip
下载文件,其他版本不做说明,可以自己尝试
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/";
nginx -t
nginx -s reload
4.这时在浏览器地址栏访问服务器的公网IP,如果看到如图所示内容,至此我们的laravel5.4项目已经成功部署到我们的腾讯云服务器上了。
5.这时只有首页是可以正常访问的,我们需要添加
location / {
try_files $uri $uri/ /index.php?$query_string;
}
本文为原创文章,会经常更新知识点以及修正一些错误,因此转载请保留原出处,方便溯源,避免陈旧错误知识的误导,同时有更好的阅读体验。
本文地址:http://zhupeixin.com/article/2018/01/deploylaravel
( 本篇完 )