[lwptoc hierarchical="1" numeration="none"]
前文:基于Laravel和Vue的匿名论坛网站构建 —— 项目启动
万事开头难。每次总是搭环境都会遇上n多问题………
1、用Oneinstack工具安装LNMP
在阿里云上买了服务器后,用SSH连接上。
感谢有很方便的工具包Oneinstack,可以一口气把LNMP,还有辅助的redis等都一并装上。
1-1、问题:Oneinstack安装PHP过程中报错。
具体如下:
cc: fatal error: Killed signal terminated program cc1
compilation terminated.
make: *** [Makefile:2283: Zend/zend_execute.lo] Error 1
PHP install failed, Please Contact the author!
后来搜了下,好像说是内存不够。但是参考此教程设置了SWAP虚拟内存后仍然不行。
但是升级了阿里云,内存从1G升到2G后就OK了……不知道原因。
1-2、问题:Oneinstack要记得安装PHP插件fileinfo。
生成安装命令的时候选上“fileinfo”,如下图。
否则安装Laravel执行Composer install时候会报错:league/flysystem 1.1.4 requires ext-fileinfo等字样。
好像是因为Laravel需要league/flysystem包、而后者又需要php的fileinfo扩展。
如果最初安装时候没装,后面再执行~/oneinstack/install.sh重新安装也是可以的。
2、安装Composer
Composer是php的依赖管理工具。Laravel框架的根目录下就有设置依赖关系的composer.json。
根据Composer官网的指示安装。
执行全局安装命令:
curl -sS https://getcomposer.org/installer | php mv composer.phar /usr/local/bin/composer
一切顺利。
3、安装Laravel框架(从github拉取)
一般可以通过Laravel的文档指引,用Composer安装。
因为我已经在本地开发了部分代码并托管在github了,所以我选择从github直接拉取。
在/data/wwwroot/dao.fat.plus(站点名)/上执行git clone,并且参考这个方法(Git克隆时不带项目文件夹)避免生成项目文件夹。
这样Laravel的框架文件夹都放到/data/wwwroot/dao.fat.plus/上了。
4、配置.env环境文件
根据Laravel的文档指示,参考Laravel自带的.env.example文件。譬如配置数据库密码之类。
最后记得执行php artisan key:generate,重新配置.env里的APP_KEY。不知道为什么官网没提这个。
5、用Composer安装PHP依赖库
在/wwwroot/dao.fat.plus(站点名)/上执行composer install。
5-1问题:报错 The Process class relies on proc_open, which is not available on your PHP installation.
参考另一篇文章解决了:Laravel用Composer install时报错:The Process class relies on proc_open
再重新执行composer install安装依赖库,成功后依赖库都放在/wwwroot/dao.fat.plus(站点名)/vendor里了。
6、用npm安装js依赖库
在/wwwroot/dao.fat.plus(站点名)/上执行npm install。
居然一切正常,感动。
顺便可以执行npm run prod编译前端文件,如果有用到Laravel Mix打包前端文件的话。
7、配置nginx文件。
上面搞完后我兴冲冲就登陆网址测试,结果出了主页外全部测试页面都是404,吓傻了。
搜了下原来是我不知道要配置nginx文件了……
参考Laravel文档,配置nginx。
特别是这句:
location / { try_files $uri $uri/ /index.php?$query_string; }
一定要写到.conf里,不然就和我一样会404。
8、结束
有必要的话,记得执行php aritsan migrate执行数据库迁移。
打开站点,一切正常,感动!
文章评论