如果您对Laravel如何在本地搭建多站点前言方案实现完成感兴趣,那么本文将是一篇不错的选择,我们将为您详在本文中,您将会了解到关于Laravel如何在本地搭建多站点前言方案实现完成的详细内容,我们还
如果您对Laravel如何在本地搭建多站点前言方案实现完成感兴趣,那么本文将是一篇不错的选择,我们将为您详在本文中,您将会了解到关于Laravel如何在本地搭建多站点前言方案实现完成的详细内容,我们还将为您解答laravel部署的相关问题,并且为您提供关于1.14 在本地搭建一个论坛及虚拟机搭建web站点、9.6 使用Tectonic在本地搭建多节点K8S集群、kubernetes (二):通过 Tectonic 在本地搭建多节点 k8s 集群、Laravel 8 查询在本地工作但不在服务器上的有价值信息。
本文目录一览:- Laravel如何在本地搭建多站点前言方案实现完成(laravel部署)
- 1.14 在本地搭建一个论坛及虚拟机搭建web站点
- 9.6 使用Tectonic在本地搭建多节点K8S集群
- kubernetes (二):通过 Tectonic 在本地搭建多节点 k8s 集群
- Laravel 8 查询在本地工作但不在服务器上
Laravel如何在本地搭建多站点前言方案实现完成(laravel部署)
下面由Laravel框架教程栏目给大家介绍Laravel在本地搭建多站点,希望对需要的朋友有所帮助!前言
最近的想法挺多的,又想做这个又想做那个.但是碰到一个很难受的问题就是:
- 没有整理好历来所有的代码,没有一个存储的路径或方案.
- 没有对这些代码进行统一的管理方案.
所以对我来说,眼下最要紧的事,就是先整理好代码,然后开发出一套属于自己的本地化管理工具.
这个工具目前暂定为Laravel进行开发.采用的是前后端分离的策略,以便日后多端可以有相应的api进行使用.
然后我也不是特别喜欢多开好几个Laravel进行开发,所以一个Laravel框架中,同时包含多域名也是成为一个主要的问题之一.
今天我就好好的记录下,我用Laravel在本地化进行多域名的设置.其实架设到其他的系统其实都差不多的.
方案
目前决定先分为两个域名.
一个是API的接口域名,我定为: api.hellolux.com
一个是后台管理域名,我定为: admin.hellolux.com
实现
在Controller层新增文件夹
在app\Http\Controllers目录下,新增两个文件夹,分别为Api和Admin.
修改RouteServiceProvider.PHP文件
在app\Providers\RouteServiceProvider.PHP中,修改
# 新增项目名称的命名空间 protected $AdminNamespace = 'App\Http\Controllers\Admin'; protected $ApiNamespace = 'App\Http\Controllers\Api'; public function map() { # 根据项目名称定义路由 $this->mapApiRoutes(); $this->mapAdminRoutes(); } # 新增两个方法 protected function mapAdminRoutes() { Route::group([ 'domain' => config('app.admin_domain'), 'namespace' => $this->AdminNamespace, ], function ($router) { require base_path('routes/admin.PHP'); }); } protected function mapApiRoutes() { Route::group([ 'domain' => config('app.api_domain'), 'namespace' => $this->ApiNamespace, ], function ($router) { require base_path('routes/api.PHP'); }); }
在config/app.PHP新增
'api_domain' => env('API_DOMAIN', 'api.hellolux.com'), 'admin_domain' => env('ADMIN_DOMAIN', 'admin.hellolux.com'),
在.env中新增
API_DOMAIN=api.hellolux.com ADMIN_DOMAIN=admin.hellolux.com
在routes目录下,新增api.PHP和admin.PHP两个文件
# api.PHP use Illuminate\Http\Request; Route::get('/', IndexController@index); # admin.PHP use Illuminate\Http\Request; Route::get('/', IndexController@index);
在/etc/hosts中增加域名
# Local_Manage 127.0.0.1 api.hellolux.com 127.0.0.1 admin.hellolux.com
/etc/apache2/http.conf中取消vhosts注释
Include /private/etc/apache2/extra/httpd-vhosts.conf
在/etc/apache2/extra/httpd-vhosts.conf中,新增
<VirtualHost *:80> ServerAdmin hellolux@163.com DocumentRoot /Users/hellolux/Documents/Github/Local_Manage/public ServerName hellolux ServerAlias *.hellolux.com ErrorLog /Users/hellolux/Documents/Github/Local_Manage/logs/error.log CustomLog /Users/hellolux/Documents/Github/Local_Manage/logs/access.log common </VirtualHost>
重启apache
sudo apachevtl restart
完成
浏览器打开admin.hellolux.com和api.hellolux.com分别会显示具体的页面了.
1.14 在本地搭建一个论坛及虚拟机搭建web站点
实验:在本地搭建一个论坛:
准备:web集成环境:PHPstudy
百度搜(有漏洞)下载PHP 2018(功能强)——安装文件夹英文(系统服务)
cmd——打开服务窗口services.msc
其他选项——查看PHP探针
安装目录下PHP/www 存放网站
下载cms(内容管理系统)
discuz.net(论坛网站) 3.4正式下载——Gitee——选择简体utf-8——登录
解压——拿取upload剪贴——复制到www——改文件名discuz
访问127.0.0.1/discuz/index.PHP——全新安装
打开PHP创建数据库discuz
127.0.0.1——安装数据库
进入论坛
admin.PHP 后台管理
google搜索intitle"登录管理中心"——回到本地输入账号密码——可以修改服务器配置
虚拟机搭建web站点
windows server 2003
Windows server2008
Windows server2016
2003: 俩镜像——密钥BXJ7B-XJ4RP-YYPCX-RXP2K-TKTBB——全名adminstrator
无效:找镜像 f2——ctl+c搜索激活
源码下载:百度搜索源码之家(或ASP源码)
实验2:搭建ASP的学校网站
下载源码
2003中win系统,开始管理服务器——添加或删除角色——下一步——自定义下一步——应用程序服务器——两个勾选—— 下一步——正在安装IIS
虚拟机设置,使用镜像文件另一个——确定
管理工具—interestnet web服务
源码下载:百度源码之家—第一个--(或者百度ASP源码)
找到搭建网站的源码
c盘新建文件夹——外面源码Xschool放到虚机2003
internet信息管理器——网站新建——ip地址,本地 端口号80,选择匿名
网络访问权限全选等等
访问http://虚拟机ip——为建设中——删除默认
Xchool配置:
右键权限—添加—e—evarone -确定—属性—主目录—执行权限纯脚本配置—选项—勾选启用父路径—调试两个勾 选确定—文档—启用默认全删除点击添加,根据之前源码文件查看index.asp—应用确定
Web服务扩展—第三个active允许—浏览网站还是建设中-xshool右键选择浏览可以看到
去浏览器搜索网站绑定的ip地址
9.6 使用Tectonic在本地搭建多节点K8S集群
使用Tectonic搭建K8S集群
# 这种使用方式已被废弃,涉及到的资源已经在官网无法下载
# 通过老师提供的安装包 https://gitlab-demo.com/xiaoquwl/docker-k8s-devops/tree/master/chapter9/tectonic-sandbox-1.7.5-tectonic.1 来安装遇到了各种坑。。。。。
https://coreos.com/tectonic/docs/latest/tutorials/sandbox/install.html
有需要的可以使用Kubeadm:https://www.imooc.com/article...
获取集群列表
kubectl config get-clusters
NAME
minikube
如果我们想通过kubectl管理多个集群,可以将多个集群的config文件合并到~/.kube/config
文件中
关于config合并的规则:https://kubernetes.io/docs/tasks/access-application-cluster/configure-access-multiple-clusters/
contexts 操作
获取当前的contexts
kubectl config get-contexts
CURRENT NAME CLUSTER AUTHINFO NAMESPACE
* minikube minikube minikube
vagrant vagrant kubelet
切换contexts
kubectl config use-context vagrant
查看contexts
kubectl config get-contexts
CURRENT NAME CLUSTER AUTHINFO NAMESPACE
minikube minikube minikube
* vagrant vagrant kubelet
kubernetes (二):通过 Tectonic 在本地搭建多节点 k8s 集群
下载文件
我的环境是 window 系统 (要安装 vagrant 和 virtualbox)
通过 vagrantfile 创建
在当前目录运行 vagrant up 就可以了
会通过 virtualbox 创建两台机器
过程大约半小时 示网络情况而定
合并配置文件方便管理(因为之前用 minikube 部署过了一个 k8s 集群),如下把 tectonic 的配置文件合并到 C:\Users\Administrator\.kube 下的 config
合并前配置:
我的 tectonic 搭建的 k8s 集群配置文件路径
内容为:
合并后的为:
切换集群:
使用 kubectl config use-context tectonic
可以看到集群切换到 tectonic 了
Laravel 8 查询在本地工作但不在服务器上
如何解决Laravel 8 查询在本地工作但不在服务器上?
我正在调试 Laravel 8 应用程序上的 API 调用,该应用程序在标头中使用 _token 参数。以下查询在本地返回结果:
$user= User::where(''_token'',$token)->first();
但不是在生产中。本地环境和生产环境都连接到同一个数据库(AWS RDS aurora MysqL)。
我想知道是什么导致了这个问题,或者如何调试它。谢谢
本地
生产
代码
function getJson($fileName,Request $request){
$user=$this->verifyToken($request->header(''_token''));
if(!isset($user->id)){
return response()->json([''error_code''=>''201'',"error_message" => ''please enter valid user token'']);
}
try {
$data=[];
$files = File::allFiles(public_path(''json-data/''.$fileName));
foreach($files as $path){
// print_r($path);
$file = pathinfo($path);
$dirname= $file[''dirname''] ;
$basename= $file[''basename''] ;
$extension= $file[''extension''] ;
$filename= $file[''filename''] ;
if($fileName==''general''){
$data= json_decode(strtolower(file_get_contents(public_path(''json-data/''.$fileName.''/''.$basename))));
}else{
$d=(array)json_decode(strtolower(file_get_contents(public_path(''json-data/''.$fileName.''/''.$basename))));
$d=array_unique($d);
$data= (array_merge($data,$d));
}
}
// $data=(array)$data;
return response()->json([''error_code''=>200,"error_message" => '''',''data''=> ($data)]);
} catch (\Exception $e) {
return response()->json([''error_code''=>''204'',"error_message" => $e->getMessage()]);
}
}
public function verifyToken($token=''''){
try {
if($token != ''''){
$user= User::where(''_token'',$token)->first();
return $user;
}
} catch (\Exception $e) {
return [''error_code''=>''204'',"error_message" => $e->getMessage()];
}
}
路线
Route::post(''get-json/{fileName}'',''apiController@getJson'');
解决方法
解决方案
以防它对任何人有帮助。检查生产中的值有助于调试问题。标题名称有下划线。 _token
删除 _
或通过参数传递 _token
可以解决该问题。显然 AWS Beanstalk 不接受标题中的下划线。
相关问题 Elastic Beanstalk doesn''t accept headers from Axios
我们今天的关于Laravel如何在本地搭建多站点前言方案实现完成和laravel部署的分享已经告一段落,感谢您的关注,如果您想了解更多关于1.14 在本地搭建一个论坛及虚拟机搭建web站点、9.6 使用Tectonic在本地搭建多节点K8S集群、kubernetes (二):通过 Tectonic 在本地搭建多节点 k8s 集群、Laravel 8 查询在本地工作但不在服务器上的相关信息,请在本站查询。
本文标签: