Fat's 杂物屋

  • 首页
  • 关于我
Fat's 杂物屋
python语言工作自动化技术
  1. 首页
  2. 网站构建
  3. 正文

基于Laravel和Vue的匿名论坛网站构建 —— 服务器环境配置

2021年7月13日 3093点热度 0人点赞 0条评论

[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执行数据库迁移。

打开站点,一切正常,感动!

 

本作品采用 知识共享署名 4.0 国际许可协议 进行许可
标签: composer Laravel nginx npm oneinstack PHP
最后更新:2021年7月13日

fat

我只是一只海獭。

点赞
< 上一篇
下一篇 >

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复

fat

我只是一只海獭。

分类
  • python / 5篇
  • 数码硬件 / 5篇
  • 杂谈 / 1篇
  • 网站构建 / 13篇
最新 热点 随机
最新 热点 随机
laravel 11.x 及 Vue3安装,作为SPA单网页应用框架 ubuntu中部署基于Gradio框架的AI demo(nginx反向代理) ubuntu构建LNMP环境和安装WordPress ubuntu使用flask错误:ImportError: libGL.so.1: cannot open shared object file: No such file or directory解决办法 uWSGI提示错误uwsgi: unrecognized option '--wsgi-file'解决办法 Laravel优化SQL分页查询语句
laravel 11.x 及 Vue3安装,作为SPA单网页应用框架 美能达CM-512m3A分光测色计 数据提取程序 Laravel报错Controller不存在 Target class [App\\Http\\Controllers\\API\\***Controller] does not exist Git克隆时不带项目文件夹 Gen10 Plus服务器 ESXi 7.0系统搭建NAS+HTPC —— 篇2:直通USB无线键鼠 总之开了个blog

COPYRIGHT © 2023 Fat's 杂物屋. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

粤ICP备2020113573号