MENU

WebStack-Laravel:搭建一个网址导航站点(带后台)

2019 年 06 月 20 日 • 阅读: 1021 • 建站技术阅读设置

webstack_banner_cn.png

说明:怎么快速的搭建一个导航网站?WebStack-Laravel 是一个开源的网址导航网站项目,具备完整的前后台。换句话说,我们可以自定义添加网站和图标,有时候浏览器收藏的网站很多不好管理,这时我们可以使用WebStack-Laravel对网站分别标注、归类,制作自己的网址导航。

项目地址:https://github.com/hui-ho/WebStack-Laravel

截图

4.jpeg
3.jpeg
2.jpeg
1.jpeg

部署安装

博主使用的是军哥LNMP_v1.6一键安装包。本教程的安装环境如下:

PHP version 7.3.5 (建议php7.0以上)
Composer version 1.8.5 (建议升级最新版本)
nginx/1.16.0
MySQL version 5.6.44

如果没有安装composer,请运行下面的命令进行安装

curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer

参考 LNMP使用教程 使用lnmp 相关命令,添加网站、创建网站根目录、建立数据库。

#将域名修改成自己的再运行
cd /www/wwwroot/xx.com
#克隆代码
git clone https://github.com/hui-ho/WebStack-Laravel.git
cd /www/wwwroot/xx.com/WebStack-Laravel

安装依赖

composer install

修改配置

#拷贝文件并重命名为.env
cp .env.example .env

使用vi命令或nano命令修改WebStack-Laravel目录下的.env文件,对APP_URLDB_DATABASEDB_USERNAMEDB_PASSWORD进行修改。

APP_URL=http://localhost
...
DB_DATABASE=database
DB_USERNAME=username
DB_PASSWORD=password
...

生成KEY

php artisan key:generate 

迁移数据

php artisan migrate:refresh --seed

开启服务

php artisan serve

注意:默认 Laravel 开启服务后,默认会监听在 localhost8000 端口上。如遇到端口冲突问题,可以可以使用 --host参数与 —port参数来更换监听的接口地址或端口号。

php artisan serve --host=0.0.0.0 --port=9889

Nginx 反代

修改vhost主机对应的nginx配置文件xx.com.conf

server {
    listen 80;
    server_name xx.com;
    location / {
        proxy_pass http://127.0.0.1:9889;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Remote-Port $remote_port;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_redirect off;
    }
    location ~ ^/(\.user.ini|\.htaccess|\.git|\.svn|\.project|LICENSE|README.md)
    {
        return 404;
    }
}

重启Nginx

/etc/init.d/nginx restart

正常情况下,现在已经可以通过xx.com域名直接访问。

常见问题

问题1:使用composer install命令安装依赖过程中遇到The Process class relies on proc_open, which is not available on your PHP installation. 这类的报错。是因为部分所需的php函数被禁用导致的。

解决方法:找到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_openproc_get_status并删除即可。

问题2:移数据出错,比如出现SQLSTATE[HY000] [2002] .......Connection timed out报错,基本是因为.env文件,数据库配置有误导致,请自行核查配置准确性。

问题3:如何强制Laravel使用HTTPS?
解决方法:找到并修改AppServiceProvider文件,在boot中添加一行:

\URL::forceScheme('https');

现在你的所有生成的路由链接已经默认是 HTTPS 了。当然你也可以用 Nginx 来做非 HTTPS 跳转,只是我觉得这个方法更加简单。需要注意的是:forceScheme 这个函数在 5.4 的时候更换过名称 , L5.3 及以下版本请使用 \URL::forceSchema('https');

扫码手机看 请喝咖啡 返回首页
本页链接的二维码
打赏二维码