WebStack-Laravel导航网站部署

usairaq 809 3

前言

一直想搞个导航站,看到满世界的设计导航、网址导航心里自然是艳羡不已,无奈想那种静态html格式的简单导航不入眼,带后台的大佬又分享的少[aru_2]。之前在github看到由viggo开发的webstack前、后端开源项目,外观操作都非常带感,奈何自己没技术,不会将前后端整合安装,最近偶然发现已经有大佬将这个开源的网址导航网站项目,整合和完整的前后台,可以拿来制作自己的网址导航[aru_12]。

网站部署

项目下面也给出了网站部署的具体步骤,在这里记录一下:
1、新建一个网站目录/www/wwwroot/www.xxx.com
2、然后通过php -v查看服务器php版本(最好7.0以上,没有的升级下,升级步骤百度)
3、通过composer -v查看composer版本(最好为最新,没安装安装 不是最新升级最新)
4、通过cd /www/wwwroot/www.xxx.com网站目录进入网站目录
5、通过 git clone https://github.com/hui-ho/WebStack-Laravel.git 克隆代码
6、然后下载完进入到下载文件夹的层级内/www/wwwroot/www.xxx.com/WebStack-Laravel
7、通过 composer install 安装依赖
8、编辑目录下的example .env 文件的参数这里我用的vi命令修改,如果宝塔后台可以直接可视化编辑的,只需修改网站地址、数据库、数据库名、数据库密码
9、通过cp .env.example .env 复制并重命名该文件
10、通过php artisan key:generate 赋值key
11、通过php artisan migrate:refresh --seed迁移数据
12、通过php artisan serve 开启服务
13、还需要设置网站的运行目录为该文件夹下的/public目录
14、最后将网站的读写权限改为777权限全部可读写即可

遇到的坑

本来就是个小白,这里还是写一下部署过程遇到的问题,作为备忘录,不然以后再次部署依然要掉坑。
1、新建目录这个就不说了,本人用的阿里云ECS,之前部署空间用的Oneinstack,基本配置LNMP,php版本5.x,而这款导航网站明确提出需要php7.0以上,因此卸载重装了高版本php。同样后台框架基于laravel,还需要composer依赖管理,因此这些都需要安装部署。

1、php升级
卸载php

/root/oneinstack/uninstall.sh php

重新安装php7.2

/root/oneinstack/install.sh --php_option 7

这里的命令只针对个人在用的Oneinstack,其他的百度一下就好,很简单。
这里值得一提的是下面部署需要开启php的fileinfo扩展

./install.sh --php_extensions fileinfo

2、composer安装
linux平台使用以下命令安装

# php -r copy('https://install.phpcomposer.com/installer', 'composer-setup.php');
# php composer-setup.php

All settings correct for using Composer
Downloading...

Composer (version 1.6.5) successfully installed to: /root/composer.phar
Use it: php composer.phar

移动 composer.phar,这样 composer 就可以进行全局调用:

# mv composer.phar /usr/local/bin/composer

切换为国内镜像:

# composer config -g repo.packagist composer https://packagist.phpcomposer.com

更新 composer:

# composer selfupdate

安装完之后,可以composer -v命令直接查看是否安装成功。

3、lavarel
Laravel 使用 Composer 管理依赖,所以,安装之前确保已经在机器上安装了 Composer。
首先,通过 Composer 安装 Laravel 安装器:

composer global require laravel/installer

确保 $HOME/.composer/vendor/bin 在系统路径中(Mac中对应路径是 ~/.composer/vendor/bin,Windows对应路径是 ~/AppData/Roaming/Composer/vendor/bin,其中 ~ 表示当前用户家目录),否则不能在命令行任意路径下调用 laravel 命令。
安装完成后,通过简单的 laravel new 命令即可在当前目录下创建一个新的 Laravel 应用,例如,laravel new blog 将会创建一个名为 blog 的新应用,且包含所有 Laravel 依赖。该安装方法比通过 Composer 安装要快很多:

laravel new blog

如果之前已经安装过旧版本的 Laravel 安装器,需要更新后才能安装最新的 Laravel 5.5 框架应用:

composer global update

3、部署
(1)如果前面安装很顺利,接下来就是第7步,安装依赖过程中遇到牵扯php.ini文件设置的错误
打开php.ini,并搜索disable_functions指令,找到类似如下内容:

disable_functions = passthru,exec,system,chroot,scandir,chgrp,chown,shell_exec,proc_open,proc_get_status,popen,ini_alter,ini_restore,dl,openlog,syslog,readlink,symlink,popepassthru,stream_socket_server

找到proc_open、proc_get_status并删除即可。
再就是遇到类似下面这样的提示

Failed to open stream : No such file or directory

也是编辑php.ini文件,把属性都改成On

; Whether to allow the treatment of URLs (like http:// or ftp://) as files.
; http://php.net/allow-url-fopen
allow_url_fopen = On

; Whether to allow include/require to open URLs (like http:// or ftp://) as files.
; http://php.net/allow-url-include
allow_url_include = On

如果无效就考虑把WebStack-Laravel文件夹调整权限为777。

(2)第11步迁移数据出错,比如:

SQLSTATE[HY000] [2002] .......Connection timed out

多数的错误都是因为.env文件设置有误的问题

DB_CONNECTION=mysql
DB_HOST=[数据库地址]
DB_PORT=[端口(3306)]
DB_DATABASE=[数据库]
DB_USERNAME=[用户名]
DB_PASSWORD=[密码]

这里数据库地址修改为localhost即可,数据库、用户名、密码根据现有数据库实际情况填写
然后执行

# php artisan migrate:refresh --seed

Migration table not found.
Migration table created successfully.
Migrating: 2016_01_04_173148_create_admin_tables
Migrated:  2016_01_04_173148_create_admin_tables
Migrating: 2019_01_21_120954_create_categories_table
Migrated:  2019_01_21_120954_create_categories_table
Migrating: 2019_01_21_144821_create_sites_table
Migrated:  2019_01_21_144821_create_sites_table
Seeding: AdminMenuTableSeeder
Seeding: AdminPermissionsTableSeeder
Seeding: AdminRolesTableSeeder
Seeding: AdminRoleMenuTableSeeder
Seeding: AdminRolePermissionsTableSeeder
Seeding: AdminRoleUsersTableSeeder
Seeding: AdminUsersTableSeeder
Seeding: AdminUserPermissionsTableSeeder
Seeding: CategoriesTableSeeder
Seeding: SitesTableSeeder

到这一步基本已经成功了。

4、最后就是设置网站的运行目录为该文件夹下的/public目录,因为我是LMNP平台,因此修改/usr/local/nginx/nginx.conf文件,将里面默认的目录改为public目录,记得重载一下nginx

nginx -s reload

打开网站看一下是不是显示成功了,后台管理地址是:域名/admin,默认用户名和密码都是admin,直接登录后台修改即可。

WebStack-Laravel导航网站部署

最后

第一次折腾这么长时间,好在最后成功了,很多问题其实都是通病,善用搜索引擎搜索,基本问题都可以解决。

老板通道


「觉得本文对你有帮助,请点个赞!」
发表评论 取消回复
表情 图片 链接 代码

  1. 西瓜追剧

    查看图片 安装上面教程,总是提示出错,而且没有vendor下面 .php文件 查看图片 查看图片

  2. 开源的WebStack-Laravel导航网站源码带后台,可以拿来制作自己的网址导航站-小蚁上树

    […] 如果安装步骤不详细或者不是很懂可以参考另外一篇博客,大佬把坑踩完了写了一篇文章记录一下,传送门。 […]

分享
微信
微博
QQ