Centos 7安装 && lnmp(linux nginx mysql php)一键包的使用 && Laravel项目部署
本次项目,使用virtual box安装,如果放到服务器上,请自行转换
一、系统安装篇
1. virtual box操作简单。重点部分,请看看图片说明,分区推荐20G以上。
_
2. 网络,采用桥接(在局域网中,有自己的ip)
3. 选择你下载好的centos镜像文件
4. 选第一项,开始安装
5. 生产环境推荐英文,这里演示,才用中文
6. 生产环境,软件越少,系统越稳定。选择最小安装,务必勾选 开发工具
7. 安装位置,进来后,直接点完成就行了
8. 网络直接开启即可
9. 两处密码,请自行设置
10. 安装完成
11. 登陆后,执行ip addr查看ip地址
二、安装lnmp篇
这里使用lnmp一键包,官网地址http://lnmp.org/install.html
1. 使用ssh连接上去,如果用windows,请使用xshell的客户端。
2. 执行以下命令
#更新
yum -y update
#安装screen 与 wget
yum -y install screen
yum -y install wget
#下载安装lnmp一键包
wget -c http://soft.vpser.net/lnmp/lnmp1.3-full.tar.gz && tar zxf lnmp1.3-full.tar.gz && cd lnmp1.3-full && ./install.sh lnmp
如果你的网速太慢,那我推荐你使用迅雷下载http://soft.vpser.net/lnmp/lnmp1.3-full.tar.gz 。完成后,通过filezilla等软件sftp传上去,然后执行
#首先自己cd到你上传好文件的目录中
tar zxf lnmp1.3-full.tar.gz && cd lnmp1.3-full && ./install.sh lnmp
3. 选择需要安装软件的版本
生产环境,数据库密码务必改为其他的,因为这里只是作演示,默认使用root了。
其他项目,根据自己需求选择。
我这里选择了mysql 5.7.11 和 php7.0.7
4. 开始漫长的编译过程
按任意键后,开始编译。具体时间根据机器情况,普遍半小时-两个小时左右(参考:centos 7,Macbook pro 13寸 2015款顶配 编译约 1.5小时)。
我建议你,去喝一杯咖啡,或者直接丢在这里,睡觉去吧,醒来再继续搞。
编译过程中,尽量不要去操作其他消耗计算机资源的操作。最好就是放着电脑别动,让他自己跑,否则可能会导致编译失败。
如果出现绿色的 completed! enjoy it。那么恭喜你了,lnmp安装完成。
如果出现红字,报告失败,那么请重头开始吧。
三、项目部署篇,以laravel项目为例。
1. 添加虚拟主机
lnmp vhost add
-
如果是线上,域名请填写真实域名。
-
如果你的项目不是discuz、discuzx、discuzx2(Discuz X二级目录)、wordpress、wp2(WordPress二级目录)、typecho、typecho2(Typecho二级目录)、sablog、emlog、dabr、phpwind、、dedecms、drupal、ecshop、shopex。那么请不要使用它的rewrite。
-
日志,根据自己需求决定,是否开启。
- 更多详细的信息,请参考http://lnmp.org/faq/lnmp-vhost-add-howto.html
2. 设置客户端主机的host文件(真实服务器环境,跳过这一步,并自行设置域名解析)。
因为我们自己定义了一个不存在的域名,xsystem.app。这个域名并不是真实存在的。
那么你需要设置客户机的host,将此域名对应到服务器ip上去。
#如果你是mac机,在mac自己的终端中(不要搞到ssh连接的服务器上去了)执行
vim /etc/hosts
#在最底下加入
192.168.0.111 xsystem.app
#保存退出后,为确保正确,执行
ping xsystem.app
#如果出现服务器对应的ip地址,表示你已设置成功。
3. 放置测试文件
回到ssh连接的服务器终端中
#进入自己的项目目录
cd /home/wwwroot/xsystem.app/
vi index.php
写入以下内容
<?php
echo "长乐未央";
保存退出后,在客户端浏览器上访问
如果能正常显示,表示你以上的配置都没有问题。
#删除刚才创建的index.php
rm index.php
4. 上传数据库
使用sequel pro或者navicat连接到服务器的MySQL上
注意,上面的账号密码,是MySQL的。下面的是服务器登录的账号密码。
新建数据库,设置编码,导入数据库,请自行操作。
5. 上传Laravel项目
使用filezilla的sftp连接,将你的项目上传到/home/wwwroot/xsystem.app
下
我个人习惯,先压缩成zip文件,然后上传到服务器的/home/wwwroot
下
cd /home/wwwroot
#先解压缩
unzip xSystem.zip
#将解压缩的文件,复制到真实的项目目录
cp -R xSystem/. xsystem.app/
#如果解压缩的文件夹不要了,那就删掉好了
rm -rf xSystem
#依据lnmp文档,对项目进行权限设置
chown www:www -R xsystem
6. 修改Lavavel的数据库等配置
cd /home/wwwroot/xsystem.app
vi .env
#根据自己服务器环境,自行修改就好
7. 修改nginx配置文件
cd /usr/local/nginx/conf/vhost
vi xsystem.app.conf
说明
-
由于Laravel项目的根目录在public下,所以这里必须要配置上。Tp项目就不要管了。
-
加入rewrite配置,来美化URL。如果你使用的是Thinkphp,请去Tp官方文档搜索nginx,也有对应的配置,并将你的url模式改为rewrite。
- 开启错误日志。
#修改完成后,重启服务
lnmp restart
#如果重启失败,请尝试执行以下命令来检查错误。
nginx -t
8. 访问与排错
你这个时候通过浏览器访问,会出现500错误。
#访问错误日志
vi /home/wwwlogs/xsystem_error.log
#发现是是项目中的storage目录没有权限(Laravel项目,会自动向此目录中写日志和缓存,所以必须有要写权限),执行
chmod -R 777 /home/wwwroot/xsystem.app/storage/
#如果你的项目还做了文件、图片上传功能,对应目录也需要开启写权限。(这个目录,请根据自己项目路径来,我的是存在了public/finder下)
chmod -R 777 /home/wwwroot/xsystem.app/public/finder/
再次访问, 一切均已正常。