oss php sdk+laravel搭建一个简单网站

news/2024/5/9 10:08:22/文章来源:https://blog.csdn.net/weixin_34148456/article/details/90434105

背景

目前中小型网站最流行的还是采用php搭建自己的web服务器,一个web服务器都会做动静资源分离,静态资源流量小的话,静态文件可以统一放单独目录用域名独立访问,流量稍大的时候,可以直接托管到阿里云OSS上,需要静态资源时从oss拉取,对请求延时苛刻的还可以用CDN做缓存和加速。

目的

介绍如何如何在30分钟内搭建一个简单的web服务器,采用nignx+php-fpm+laravel+oss-php-sdk 框架 ,静态资源托管到阿里云oss上。实现通过浏览器展示一张图片。

简单的服务器框图

frame

搭建步骤

运行环境ubuntu16.04,php版本php7.0

laravel搭建

composer global require "laravel/installer=~1.1"

请确定把 ~/.composer/vendor/bin 路径放置于您的 PATH 里, 这样 laravel 执行文件就会存在你的系统。laravel一般在这个目录下/root/.config/composer/vendor/bin

laravel new test_laravel

这可能会报错,网上都有解决方法,我发上来我遇到的:

[RuntimeException]The Zip PHP extension is not installed. Please install it and try again.sudo apt-get install php7.0-zip 

nginx搭建

或者直接参考这篇文章
http://www.cnblogs.com/piscesLoveCc/p/5794926.html

#下载最新版本:
wget http://nginx.org/download/nginx-1.11.3.tar.gz
#解压:
tar -zxvf nginx-1.11.3.tar.gz
#进入解压目录:
cd nginx-1.11.3
#配置:
./configure --prefix=/usr/local/nginx 
#编辑nginx:
make
注意:这里可能会报错,提示“pcre.h No such file or directory”,具体详见:http://stackoverflow.com/questions/22555561/error-building-fatal-error-pcre-h-no-such-file-or-directory
需要安装 libpcre3-dev,命令为:sudo apt-get install libpcre3-dev
#安装nginx:
sudo make install
#启动nginx:
sudo /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
注意:-c 指定配置文件的路径,不加的话,nginx会自动加载默认路径的配置文件,可以通过 -h查看帮助命令。
#查看nginx进程:
ps -ef | grep nginx

配置文件/usr/local/nginx/conf/nginx.conf修改为如下的内容:

user  www-data;
worker_processes  1;
error_log  logs/error.log  info;
events {worker_connections  1024;
}http {sendfile        on;keepalive_timeout  65;server {listen       80;server_name  www.test_laravel.com;root  /home/baiyb/moyue/test_laravel/public;location / {index  index.php index.html index.htm;}location ~ \.php$ {fastcgi_pass unix:/run/php/php7.0-fpm.sock;fastcgi_index index.php;fastcgi_param  SCRIPT_FILENAME   $document_root$fastcgi_script_name;include fastcgi.conf;}
}

php-fpm搭建

#启动php-fpm
sudo /etc/init.d/php7.0-fpm restart
#查看配置
/etc/php/7.0/fpm/pool.d/www.conf

验证

修改routes/web.php为

Route::get('/', function()
{return ('Hello World');
});

修改你浏览器所在机器的/etc/hosts:

vim /etc/hosts
#增加
120.26.198.7 www.test_laravel.com
#120.26.198.7 是你搭的web服务的ip

浏览器出现"Hello World"代表成功。

到这一步,已经成功大半,一个最简单的服务器已经搭建成功了,后面要做的是把静态资源托管到oss上,当有静态资源请求,可以直接把oss当作静态资源服务器。

oss-php-sdk、oss-laravel配置

如何在laravel中使用oss,可以参考aliyun oss php laravel插件,参照readme,在laravel中配置oss,这里不再重复。oss-laravel链接:
https://github.com/aliyun/aliyun-oss-php-sdk-laravel

验证程序

写一个最简单的验证程序,目的是是验证laravel和oss工作的正确性,不考虑性能。
假设你开通了oss,创建的bucket是laravel_bucket,并参照上一个步骤正确的配置了laravel。另外像我一样把一张图片事先上传到了oss上,并命名为test.png。
修改routes/web.php为

Route::get('/', function()
{$client = App::make('aliyun-oss');$options = array(OssClient::OSS_FILE_DOWNLOAD => "/root/qiankun.yqk/laravel/moyue/public/img/test.png" );$client->getObject( "laravel_bucket", "test.png", $options );return view('gitshow');
});

添加一个文件 resources/views/gitshow.blade.php, 内容为:

img

浏览器输入 www.test_laravel.com

xiaoguo

简单描述一下这个过程,laravel收到一个请求后,就通过oss php sdk向oss请求一张图片并保存到本地的"/root/qiankun.yqk/laravel/moyue/public/img/test.png", 然后返回给用户这张图片。这篇文章目的是要说明如何使用php sdk+ laravel,不考虑这个实现的性能问题(言外之意就是实现真的搓,anyway很好的说明了问题)。至于性能优化的问题,大家可以借助oss的图片处理功能实现图片的旋转、裁剪、打水印,而不用使用laravel自带的图片处理功能(毕竟吐槽很差),这里附上利用oss进行图片处理的使用链接[ https://help.aliyun.com/document_detail/44686.html?spm=5176.doc44957.6.938.i8ophk ], 反响好的话以后单独开篇文章介绍。

结语

本篇主要介绍laravel+oss的环境搭建,如何在一个laravel服务器上通过php oss sdk托管静态资源,下一篇主要介绍laravel服务器的性能及优化方案。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_813560.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

微信登录(网站应用)ASP.NET

效果第一步 请求CODE第二步 CODE 换取 Token第三步Token 调取接口我调用的是获取个人信息接口代码 效果 官方开发指南(指南已经说的很清楚了) 官方流程图: 第一步 请求CODE 第三方使用网站应用授权登录前请注意已获取相应网页授权作用域…

微信分享(网站)ASP.NET

实现的功能: 1、网址生成二维码 2、微信扫描二维码,打开网址 3、微信APP右上角点击弹出菜单分享 4、分享内容可自定义:标题、描述、链接、图片 普通分享显示图: 接口分享显示图 微信公众平台文档地址: 微信网页开…

对《网站非法内容监听系统的构想》的回复——我谈非法内容核查方法

刚才看了谢慧琦(是个MM??)的《网站非法内容监听系统的构想》一文,觉得其中所述的想法与我之前的设想非常相像,所以我忍不住也想说几句了,嘿嘿: 我原先的设想就是在用户提交时,对提交内容进行危险…

linux怎么操作mysql数据库实例_实例 - Linux下用Perl进行MySQL数据库开发_数据库技术_Linux公社-Linux系统门户网站...

四、perl进行MySQL开发实例上述都安装完后,就可以进行实际开发了。首先在test数据库中新建一个表mysql> create table address (-> id int(5) not null,-> name varchar(40) not null,-> email varchar(50) not null,-> telephone int(12) null);Que…

qq浏览器网页翻译_海淘网站英文页面翻译办法

很多刚刚海淘的朋友,遇到的第一个问题,往往就是,看懂不懂,面对满屏的英文,它认识我,我不认识它,更别提要海淘下单了。接下来,小编分别介绍手机端和电脑端英文页面翻译办法。1、手机端…

wordpress表单数据验证_30分钟搭一个wordpress网站

我是一个着迷于产品和运营的技术人,乐于跨界的终身学习者。欢迎关注我哟~每周五早6点 按时送达~我的第「88」篇原创敬上因为最近工作比较忙,没太多时间思考和写东西。所以今天偷个懒,发一篇实操类文章。这篇文章非常“…

window服务如何通过程序如何打开谷歌浏览器并登陆指定网站_亚马逊如何看listing销量,亚马逊如何看销量排名...

我做跨境电商也有六年的时间了,在电商这个行业也有自己的一些经验。经验也许没有其他大卖家丰富,但会将我知道的都进行分享。如果有不懂得亚马逊问题可以我(V:772024802)。我这里给大家安排一堂直播课,可以系统的帮你解决做亚马逊…

seo扣费系统源码_关键词按天扣费就一定靠谱吗?

最近几年,SEO行业的形势不断变化,各种新出的SEO计费方式和营销模式花样百出。现在大多数SEO公司都打着按天扣费的模式,吸引客户。其实按天扣费模式的猫腻也很多,今天优化君让你们知道一家公司的按天扣费的套路,希望能帮…

python爬虫反爬机制_Python3爬虫学习之应对网站反爬虫机制的方法分析

本文实例讲述了Python3爬虫学习之应对网站反爬虫机制的方法。分享给大家供大家参考,具体如下: 如何应对网站的反爬虫机制 在访问某些网站的时候,网站通常会用判断访问是否带有头文件来鉴别该访问是否为爬虫,用来作为反爬取的一种策…

全面进入HTTPS网站加速新时代,CDN上线免费证书

点击访问折扣活动 点击了解相关专题与HTTPS技术直播 活动推荐 【TechDay】阿里云CDN Tengine开源技术沙龙-上海站,将在8月29日下午阿里虹桥中心展开,多位专家现场探讨CDN QUIC、TLSv1.3、直播、Tengine实践等话题,参与活动即可赢取阿里云定制…

网站服务器停止服务,DDoS攻击是如何让网站停止服务的?

DDoS攻击,是一种耗尽攻击目标的系统资源,导致攻击目标无法响应正常的服务请求的网络攻击方式。虽然,大规模的DDoS攻击占据了大部分的头条新闻,但实际上,较小的DDoS攻击在网络安全环境中更为常见。在没有做好充分的防护…

php实现飘窗,JS实现网站图片飘窗效果,JavaScript悬浮广告(附详细代码)

JS实现网站图片飘窗效果,JavaScript悬浮广告,飘窗效果-丁光辉博客(www.dingguanghui.com)*{margin:0px;padding:0px}#ad{position:absolute;left:0px;top:0px;}//通过ID获取imgaddocument.getElementById("ad");//定义横纵坐标x0;y0;//设置初始…

大型网站技术架构(六)网站的伸缩性架构

2019独角兽企业重金招聘Python工程师标准>>> 网站系统的伸缩性架构最重要的技术手段就是使用服务器集群功能,通过不断地向集群中添加服务器来增强整个集群的处理能力。“伸”即网站的规模和服务器的规模总是在不断扩大。 1、网站架构的伸缩性设计 网站的…

Visual Studio2017 的项目发布与 IIS 网站部署

Visual Studio2017 的项目发布 1.首先打开自己的本地项目,重新生成解决方案必须无报错 2.然后右键选中的项目,点击发布 3.第一次发布需要配置发布的相关信息,如果第N次发布可直接跳过,配置信息如下 3.1 点击连接 发布方法&…

IIS网站部署后,让小伙伴也能查看网站-防火墙配置

前言 上一篇文章讲述了 Visual Studio2017 的项目发布和 IIS 网站的部署,但是部署之后只能在自己的电脑上浏览网站。为了让自己电脑上的网站也能被别人访问,可以对防火墙做一些手(配)脚(置)~ 链接&#x…

IIS网站运行报错:无法识别的属性“targetFramework”。请注意属性名称区分大小写。

报错信息如下: IIS网站运行报错:无法识别的属性“targetFramework”。请注意属性名称区分大小写。 报错原因大概是:程序的.netframework版本为4.8,应用池的版本为2.0 ,版本不一致所以报错。 修改步骤1:应用…

IIS安装 部署网站

以下是操作文档,均已录制 点此观看bilibili操作视频 第一步:找到位置 控制面板->查看方式选择:类别->卸载程序->启用或关闭windows功能 第二步:勾选 勾选Internet information Services和Internet information Servic…

IIS中的网站访问excel

打开【启用32位应用程序】

IIS部署网站-网站设置起始页

选中网站->默认文档看到有index.html 可以在网站的根目录新建index.html 然后在index.html界面中 设置跳转界面即可 新建index.html 设置跳转 <meta HTTP-EQUIVREFRESH CONTENT"0; URL跳转路径">

icon制作无白色背景_这80个无版权素材网站收好,再来多少视觉XX都不怕!

一张黑洞照片让视觉中国彻底凉凉&#xff0c;虽然社会的版权意识加强是一个好现象&#xff0c;但这种漫天要价的钓鱼执法实在不可取。因此&#xff0c;就看APP为大家整理了80个无版权素材网站&#xff0c;除了图片&#xff0c;还有免费的视频、icon、配色以及矢量图&#xff0c…