当前位置:首页 » 网页前端 » sae部署前端项目
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

sae部署前端项目

发布时间: 2022-06-11 03:43:06

Ⅰ 今天在用新浪sea部署javaWeb项目,遇到个问题

打扰一下,你的问题结局了吗?我跟你报同样的错误,部署了好长时间了都没解决。
HTTP ERROR: 500
Problem accessing /index.jsp. Reason:
Could not initialize class com.sina.sae.util.DeleteDirectory

能否交流一下?

Ⅱ SAE的核心优势

SAE的基本目标用户有两种,一种是Web开发者,另一种是普通互联网上网人群。
对于Web开发者,SAE带来的好处有:
·硬件成本更低,无需预先购买设备,承担更大的投入风险
·开发成本更低,SAE提供许多服务供开发者使用,开发者无需重复开发,包括队列、数据库缓存、定时、验证码、计数器,几乎覆盖了Web开发的所有领域。另外对于特定开放平台的开发者,比如WAP开发者,SAE已经集成了完整的OpenAPI的封装,将开发者的开发成本降到最低。值得一提的是,SAE的开发者已经形成了良好的交流氛围,在意见反馈中心、SAE官方群,SAE官方微群可以看到很多热情的开发者在一起共同提高
·运维成本更低,在SAE上的应用无需关心硬件维护、服务监控、数据容灾等操作,SAE会通过其高可靠的架构和方便的监控页面为用户将运维成本降到最低扩展性更强,在SAE上的服务无需关心服务压力猛增时带来的扩容等操作,SAE自动支持服务扩展
·更加安全可靠,SAE自动提供sql语句性能分析、前端防攻击、代码检查等功能,在SAE上的所有应用均为多机房容灾部署,比传统的部署模式更加安全可靠,并且SAE提供服务的SLA来实现对用户服务质量的承诺
对于普通上网人群,使用SAE可以:
使用推荐应用一键安装Web应用,普通用户无需会编码,也可以在瞬间拥有自己的团购、博客、微博、Wiki等。

Ⅲ 如何在新浪云sae上安装部署laravel5.1应用并测试数据库连接

1、创建SAE应用
首先进入新浪云SAE界面 http://sae.sina.com.cn/ :

点击“创建新应用”,在创建应用页面填写表单,开发语言选择php 5.6,选中“空应用”,然后点击“创建应用”:

这样在管理应用列表新增了一个“Laravel SAE”应用:

接下来我们点击“Laravel SAE”进入管理应用界面,选择左侧“代码管理”链接上传应用代码:

我们选择使用Git管理代码,点击“Git”按钮,页面跳转到Git安装指南页面:

通过该页面我们得知代码仓库是 https://git.sinacloud.com/laravelsae/ ,接下来我们就可以按照部署说明上传代码到SAE。
2、上传Laravel项目代码到SAE
这里我们选择Github上一个现成的项目 laravel5-on-sae ,该项目针对SAE对Laravel 5.1代码做了特定修改,我们下载其 项目包 并解压到本地。进入解压后的 laravel5-on-sae 目录,删除隐藏的文件夹 .git ,新建一个 config.yaml ,编辑其内容如下:
handle:
- rewrite: if (path ~ "^/$") goto "public/index.php"
- rewrite: if(!is_dir() && !is_file() && path~"^(.*)$") goto "public/index.php/$1"
编辑 .gitignore 文件,移除第一行 /vendor (否则使用Git命令忽略该目录,导致找不到/vendor/autoload.php而报错)。
编辑 config/app.php ,移除 providers 数组中的如下这行:
App\Providers\ViewComponentServiceProvider::class,
编辑 app/Providers/EventServiceProvider.php 内容如下:
<?php
namespace App\Providers;
use Illuminate\Contracts\Events\Dispatcher as DispatcherContract;
use Illuminate\Foundation\Support\Providers\EventServiceProvider as ServiceProvider;
class EventServiceProvider extends ServiceProvider
{
/**
* The event listener mappings for the application.
*
* @var array
*/
protected $listen = [
];
/**
* Register any other events for your application.
*
* @param \Illuminate\Contracts\Events\Dispatcher $events
* @return void
*/
public function boot(DispatcherContract $events)
{
parent::boot($events);
}
}
然后在 laravel5-on-sae 目录下执行如下命令:
git init
git remote add sae https://git.sinacloud.com/laravelsae/
git add .
git commit -am 'laravelsae'
git push sae master:1
最后一条命令需要输入的用户名和密码为安全邮箱和安全密码,而不是微博账号和密码。如已启用微盾动态密码,则密码应该是“安全密码”+“微盾动态密码”。
这样我们就可以成功提交代码到Laravel SAE应用。
在开始之前还需要在SAE中初始化Memcache,并且在Storage中新建一个域名为 laravel 的domain。
接下来我们在浏览器中访问 http://laravelsae.sinaapp.com/laravel ,页面显示如下:

说明代码部署成功!
3、测试数据库连接
要在SAE上连接数据库,首先我们需要点击左侧mysql初始化数据库:

选择“共享型MySQL”:

InnoDB目前只对企业开发,所以我们选择MyISAM引擎,然后点击初始化数据库。初始化成功后页面跳转到MySQL管理页面:

SAE中MySQL主机、端口、用户名及密码都用常量表示,我们在代码中也要使用这些常量对数据库进行设置,当然 laravel5-on-sae 这个项目已经为我们做好了设置,甚至配置了读写分离:

这里我去将 prefix 配置设置为 '' ,即不使用任何数据表前缀。
接下来我们对数据库进行测试,还是在MySQL管理页面我们点击“管理MySQL”,页面会跳转到MySQL数据库管理页面,实际上是一个phpMyAdmin页面:

在phpMyAdmin中我们创建一个数据表 posts 并插入两条记录:

接下来我们在项目代码中 routes.php 新增一条路由:
Route::get('database/test','DbController@test');
然后创建控制器 DbController ,编辑其内容如下:
<?php
namespace App\Http\Controllers;
use DB;
class DbController extends Controller{
public function test(){
$posts = DB::table('posts')->get();
dd($posts);
}
}
然后提交该代码到SAE项目:
git add .
git commit -m 'test'
git push sae master:1
在浏览器中访问 http://laravelsae.sinaapp.com/database/test

Ⅳ thinkphp3.2.3框架,在SAE云空间上部署

你可以试试sae模式。

Ⅳ github代码怎么部署到sae

第一步:新建一个github仓库"hello-ghpages":

现在我们有了一个空的仓库,上面只有README.md和LICENCE文件,并且注意现在所在的分支是"master"。之所以强调这一点是因为接下来的步骤必须明确自己的github page在哪个分支下面,这个等会儿再介绍。
第二步:点击页面右边一列的“Settings”,跳转到项目设置界面:

第三步:在设置界面我们能够看到有一块的标题是“Github Pages”,点击这一块上面的“Automatic page generator”按钮:

第四步:在“New Project Site”页面,需要注意的是页面最下面的“tracking ID”。“tracking ID”的作用是使用Google的Analystics功能,该功能能够分析你的网站的访问量等网站数据,可以不填。如果需要使用该功能,可以参考链接https://support.google.com/analytics/answer/1032385?hl=en。然后点击“Continue to layout”按钮。

第五步,设置主题,就能够发布了:

这样,我们就能够通过链接:http://username.github.io/hello-ghpages/访问我们刚刚发布的页面了,其中username是你的github账户的名字。根据博主的经验,第一次部署的话,等待的时间是比较长的,大概是十分钟到十五分钟左右。所以如果你立马访问刚刚发布的页面可能会出现404错误,不要着急慢慢等上十多分钟,会得到你想要的效果的:

到这一步,我们已经完成了github pages的部署,但是在这个时候我们面临了两个问题,第一:最初生成的仓库只有两个文件,不存在定义我们现在看到的github pages样式、内容的文件;第二,既然我们没有定义这些文件,而我们看到的这些文件有必须是真实存在的,这些文件放在了哪里?答案就涉及到我们一开始提到的分支了。我们在使用“Automatic page generator”功能的时候,github会自动在你项目的“master”分支下面新建一个“gh-pages”分支,而这个分支里面的代码定义了我们刚刚看到的部署成功的github pages页面的内容和样式。

我想在这里是有必要简单介绍一下分支这个概念的。分支分成两种,一种是上面截图中看到的,这种叫做远程分支,另外一种是我们在使用Git进行版本控制的时候使用到的,叫做本地分支。在使用Git进行版本控制的时候,对于每一次提交,都会生成一个commit对象,这个commit对象包含了以下内容:
提交信息元数据:包含了提交者、作者、提交时间等信息
一个包含指向 tree 对象(根目录)的索引:在提交之前,Git 会先计算每一个子目录的校验和,然后在 Git 仓库中将这些目录保存为树(tree)对象。commit对象中的这个索引指向了这个对象。参考一下《pro git》里面的这张图就能很好的理解了:

对于提交有了一定认识之后,分支就更好理解了,Git 中的分支,其实本质上仅仅是个指向 commit 对象的可变指针。结合实际,我们来分析一下:在新建一个github仓库的时候,从上面的图我们可以看到,github会自动创建一个提交叫做“Initial commit”,同时新建了一个master分支,这个master分支是指向“Initial commit”提交对应的commit对象;在部署github pages的时候,github新建了一个分支,并且产生了一次提交“Create gh-pages branch via Github”。你可以把上面的过程理解成下面几条命令:
git branch gh-pages //在master分支下面新建一个gh-pages分支 git checkout gh-pages //切换到新建的gh-pages分支 git rm -rf . //由于master分支和gh-pages分支里面的内容完全不同,所以首先清空了所有文件 //在清空的文件夹里面自定义新的文件,也就是上面截图中看到的gh-pages分支中的文件 git add . //跟踪自己定义的文件 git commit -m "Create gh-pages branch via Github" //提交本次修改

到目前为止,你就觉得一个问题应该是如何将现在看到了github pages定义成我自己想看到的效果,这里就需要用到Git了。
第六步:Clone远程仓库到本地:

第七步:clone下来默认为master分支,所以我们在文件夹里面看到的是master分支对应的内容。而我们需要编辑的是gh-pages分支,因为这个分支才能够定义github pages的内容和样式。我们需要执行下面的命令:

上面的命令的意思是说,在本地新建一个分支,本地分支的名字叫做“gh-pages”,这个新建出来的分支是在远程分支“origin/gh-pages”分支下面分化出来的,切换到新建出来的"gh-pages"分支,这个时候,我们看到在文件夹"hello-ghpages"下面的文件时远程分支"gh-pages"的内容了:

第八步:删除里面的所有文件,当然最好不要直接删除,而是通过git命令,那样会更加方便快捷。

第九步:目前为止,这个文件夹是空的了,我们在里面新建一个index.html文件,在里面定义一些内容,并且提交到当前分支。

第十步:提交到远程分支,查看效果:

第十一步:查看效果吧

Ⅵ SAE 如何部署 Dokuwiki

去SAE应用仓库看看吧

sae不支持写入

Email也要修改代码,SAE邮件class , 目前只支持SMTP.

<?php
$mail=newSaeMail();
$mail->setAttach(array("my_photo.jpg"=>"照片的二进制数据"));
$mail->quickSend(
"[email protected]",
"邮件标题",
"邮件内容",
"[email protected]",
"password"
);

$mail->clean();
//重用此对象
$mail->quickSend(
"[email protected]",
"邮件标题",
"邮件内容",
"[email protected]",
"password",
"smtp.unknown.com",
25
);//指定smtp和端口

?>

Ⅶ php部署到新浪云sae不能正常运行了,求解

sae文档

运行环境

基本环境

新浪云 PHP 运行环境目前的 Web 服务器使用的是:

  • CentOS-6.x

  • Apache-2.2.x

  • PHP-5.3.x / PHP-5.6.x

  • Web 服务器运行在 64 位 Linux 环境下。

    Apache 运行在 Prefork 模式下,即每个请求都会对应一个 Apache 进程,请求结束后该进程才能服务于下一个请求。平台通过模块方式扩展了 Apache 和 PHP 的相关功能。

    禁用函数和类

    出于平台安全性考虑,我们禁用了以下函数和类,禁用的标准主要有四点:

  • 出于对安全性的考虑

  • 出于对资源管理的考虑

  • 不常用的 API

  • 我们提供更好替代方案的 API

  • 禁用的函数:

  • symlink

  • link

  • exec

  • system

  • escapeshellcmd

  • escapeshellarg

  • passthru

  • shell_exec

  • proc_open

  • proc_close

  • proc_terminate

  • proc_get_status

  • proc_nice

  • dl

  • pclose

  • popen

  • stream_socket_server

  • stream_socket_accept

  • stream_socket_pair

  • stream_wrapper_restore

  • mail

  • mb_send_mail

  • posix_kill

  • apache_child_terminate

  • apache_lookup_uri

  • apache_reset_timeout

  • apache_setenv

  • virtual

  • socket_create

  • socket_create_pair

  • realpath_cache_get

  • 禁用的类:

  • SQLiteDatabase

  • SQLiteResult

  • SQLiteUnbuffered

  • SQLiteException

  • 沙箱

    代码和数据的隔离:每个应用在运行期间,只能“看”到自己的代码和数据,即 A 应用无法访问 B 应用的代码和数据。注意,这里提到的在 Web 服务器上的数据,往往指一些中间处理过程的临时数据,并非最终落地的数据,比如用户上传照片会临时存储到 TmpFS。

    连接数的隔离:我们知道,程序写的不好,很容易导致阻塞,并进一步导致连接数的飙升。单个应用过多占用 Apache 连接数,原因往往是多方面的,应用请求外部资源被阻塞是一个最为常见的因素,另外应用页面过大浏览器下载慢也是常见因素之一。公有云平台同一时刻往往运行着大量的应用,如果某一应用出现连接数异常,最直接的后果是整个平台上的所有应用都将陷入瘫痪。新浪云平台目前有设置“应用最大 HTTP 并发连接数”,目前这个值是 500,如果应用平均单个请求处理时长是 100ms,那么该应用每秒的 HTTP 并发连接将可以到达 5000,每天的请求超过 1 亿没有问题。但如果您的应用平均每个请求处理时长 2 秒,那么该应用每秒的 HTTP 并发连接只能到达 250,每天支撑的请求数将在千万。总体而言,尽量迅速处理完请求对应用是有利的,而且也是平台所鼓励的。

    内存隔离:目前新浪云平台上对单个 PHP 脚本的处理,设置了 128MB 的上限 (max_memory,ini_set 不可修改),我们认为这个设置是一个相对很高的值,可以说能够满足绝大部分应用的需求。设想一台服务器 8G 内存,如果每个 PHP 处理都消耗 64M 内存,那么该服务器最多只能同时运行 128 个 PHP 脚本。新浪云引入了”应用最大并发内存数“的概念,目前的设置是 4GB。如果应用程序单个请求的内存消耗平均在 16MB,那么可同时运行 256 个请求,这和上面的并发连接数的设定是基本一致的。

    CPU 隔离:这主要是通过新浪云的配额系统来达到 CPU 时间的隔离。每个应用都有 CPU 时间消耗的分钟速度限制,避免了某一应用过多非法获取 CPU 资源导致其它应用响应慢的问题。

    目前新浪云平台上允许的“单请求最大存活时长”是 300 秒 。

    注解

    当应用并发超过限制,系统会返回 508 错误,并显示 Connections out of quota。当应用内存占用超过限制,系统会返回 509 错误,并显示 Memory usage out of quota。

    环境变量

    您可以通过打印 PHP 的全局变量$_SERVER来获取跟新浪云相关的环境变量信息,每个环境变量的信息如下:

    变量名

    说明

    HTTP_APPNAME 标志该请求属于哪个应用

    HTTP_APPVERSION 标志该请求对应该应用的哪个版本

    HTTP_ACCESSKEY 该应用访问各种服务资源的帐号

    HTTP_SECRETKEY 该应用访问各种服务资源的密码

    HTTP_APPCOOKIE 一些和 app 管理相关信息

    警告

    不要直接打印出$_SERVER变量,这样可能会造成应用的 AccessKey 和 SecretKey 的泄露。为了应用的安全考虑,请保护好自己的 AccessKey 和 SecretKey。

    常用字体文件路径:

  • constantSAE_Font_Sun

  • 宋体字体文件路径

  • constantSAE_Font_Kai

  • 楷体字体文件路径

  • constantSAE_Font_Hei

  • 文泉驿正黑字体文件路径

  • constantSAE_Font_MicroHei

  • 文泉驿微米黑字体文件路径

  • 全局函数

  • is_https()

  • 判断客户端是以 http 还是以 https 的方式连接。

    返回:

    如果是 https 连接返回 true,否则返回 false。

Ⅷ 如何使用Git在SAE部署代码

SAE近期的优化,目前已经支持Git,本文将介绍如何使用Git在SAE上部署代码。

使用Git进行代码管理,首先要在本地安装Git客户端,下载链接:http://www.git-scm.com/download/

Git客户端的安装与配置过程在此略去不讲,谷歌一下有很多相关的内容,今天我们的重点是如何使用Git在SAE上部署代码。

本文例子中使用的操作系统为Windows 8.1,应用语言为Python,应用名称为gitsrc。

代码管理方式的选择

在首次对应用进行代码管理时,有且仅有一次选择代码库管理方式的机会,在此我们选择Git。

此后应用的代码管理方式将不可变更。

创建完成后,可以在页面上看到应用的Git仓库地址:https://git.sinaapp.com/gitsrc/ 。

使用git clone克隆代码仓库

在命令提示符(cmd)下,cd到工作目录(本例为E:\sae),执行命令:

git clone -o sae https://git.sinaapp.com/gitsrc

其中gitsrc应替换为正确的应用名称

按照提示输入安全邮箱和密码,执行成功后,提示检出内容为空。

保存Git用户名和密码:

在%USERPROFILE%\_netrc文件中

添加如下内容,可以避免每次push时重复输入用户名和密码(未启用动态口令)

machine git.sinaapp.com
login 安全邮箱
password 密码

添加一个Git远程仓库sae,地址为:https://git.sinaapp.com/gitsrc

git remote add sae https://git.sinaapp.com/gitsrc

注:如果在git clone时添加了 -o sae 参数,此步骤可以省略。

首次创建分支(版本1)

在源码目录gitsrc下添加一个文件,例如index.wsgi,然后cd到源码目录下,执行如下指令:

cd gitsrc

git add .

git commit -am "init repo"

git push sae master:1

打印信息如下:

Counting objects: 3, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 371 bytes | 0 bytes/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To https://git.sinaapp.com/gitsrc
* [new branch] master -> 1

版本的切换

SAE Git代码仓库通过分支(Branch)的方式,支持多个并存的代码版本。

使用git checkout命令可以在版本之间进行切换,例如执行命令:

git checkout 1

Switched to branch '1'
Your branch is up-to-date with 'sae/1'.

执行完毕后,即切换至分支1

新增和删除代码版本

当前位于分支1,执行下面的语句可以创建分支版本(例如版本2):

git branch 2

git push sae 2

执行如下命令,可以列出所有版本

git branch -a

从SAE服务器上删除版本2的代码。

git push sae :2

已经在SAE中指定为默认版本时,禁止删除。

提示错误信息:Permission denied: deleting default version is not allowed!

向Git代码库提交代码变更

在gitsrc目录下变更代码文件,例如新增了文件foo.html

依次执行下面的语句,将变更提交至SAE Git代码库(分支版本1):
git add --all

git commit -am "add foo.html"

git push sae 1

对于Python应用,与SVN代码库不同,新增版本时并不会默认生成index.wsgi,开发者需要自行添加这个文件。

Ⅸ 目前想在新浪SAE上部署个python程序,来抓取一些网站上的东西,在云端生成xml来做rss。问

sae可以存啊,有特殊的api,你看看storage

Ⅹ 怎么把django部署到sae

第一步:注册新浪SAE账号,下载TortoiseSVN。

第二步:创建新应用。

注册应用名称,注册二级域名,开发语言选择Python2.7版本,然后进入应用管理界面,第一件事先初始化Mysql。

然后点击代码管理,创建一个版本,版本号为1,创建成功之后可以看到类似的信息。

第三步:使用SVN部署代码。

首先在合适的位置创建一个svn文件夹,比如 E:\svn\。

然后,在svn下面再创建一个文件夹,名字是在创建应用时填在二级域名里的名字,如pylabsite。

鼠标右击文件夹pylabsite,选择SVN Checkout,填写URL,其他默认,点击OK,之后填写注册邮箱和密码,填写时选上save authentication,没悬念。


成之后在pylabsite文件夹里会多出2个文件夹,1和.svn,.svn里的东西不用管,重点看1,刚检出来的时候 1
目录下只有config.yaml和index.wsgi两个文件,然后将本地项目pylabsite复制到1文件夹里,由于SAE最多支持
Django1.4版本,这里要把python安装位置(例如C:\Python27\Lib\site-packages)的Django包拷贝过来,
新建一个site-packages文件夹,放在里面,文件目录结构如下:

本地文件是这样的:

version: 1

然后修改config.yaml和index.wsgi这两个文件。
#-- config.yaml -- #

name: pylabsite
version: 1

libraries:
- name:"django"
version:"1.6"

handlers:
- url: /static

#-- index.wsgi --#

import os
import sys

root = os.path.dirname(__file__)
sys.path.insert(0, os.path.join(root, ‘.‘, ‘site-packages‘))
os.environ.setdefault("DJANGO_SETTINGS_MODULE" , "pylabsite.settings")

from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()

这里的格式很重要,比如- name之间有空格,没留空格就会出错,”pylabsite.settings”是我自己的项目名,灵活改动。

1/pylabsite/wsgi.py修改如下:
import os
import sys

root = os.path.dirname(__file__)
sys.path.insert(0, os.path.join(root,‘..‘,‘site-packages‘))
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "pylabsite.settings")

from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()

然后1/pylabsite/settings.py修改:
import os
import os.path
from os import environ

debug = not environ.get("APP_NAME","")

if debug:
MYSQL_DB = ‘pylabsite‘
MYSQL_USER = ‘admin‘
MYSQL_PASS = ‘111‘
MYSQL_HOST_M = ‘127.0.0.1‘
MYSQL_HOST_S = ‘127.0.0.1‘
MYSQL_PORT = ‘3306‘
else:
import sae.const
MYSQL_DB = sae.const.MYSQL_DB
MYSQL_USER = sae.const.MYSQL_USER
MYSQL_PASS = sae.const.MYSQL_PASS
MYSQL_HOST_M = sae.const.MYSQL_HOST
MYSQL_HOST_S = sae.const.MYSQL_HOST_S
MYSQL_PORT = sae.const.MYSQL_PORT

DEBUG = False
TEMPLATE_DEBUG = False

DATABASES = {
‘default‘: {
‘ENGINE‘: ‘django.db.backends.mysql‘,
‘NAME‘: MYSQL_DB,
‘USER‘: MYSQL_USER,
‘PASSWORD‘: MYSQL_PASS,
‘HOST‘: MYSQL_HOST_M,
‘PORT‘: MYSQL_PORT,
}
}

DEFAULT_CHARSET=‘utf-8‘

ALLOWED_HOSTS = [
‘.sinaapp.com‘,
]

第四步:上传

将所有要修改的东西修改完,就可以通过svn上传到SAE了,操作方法,右键pylabsite,选择SVN Commit…

Django包有个十几M,不过上传速度很慢,这个过程可以休息会。

第五步:配置Mysql

以上配置完成了,现在数据库还是空的,有一种方法是在本地部署SAE环境然后 python manage.py syncdb 同步到服务器,不过这样搞很折腾。

第二种方法是在本地执行 python manage.py syncdb 然后从本地Mysql导出SQL语句文件,然后在SAE的Mysql运行SQL语句,我这里是用 Navicat for MySQL 导出的SQL语句文件,很方便。

这里选择执行SQL语句,也可以直接导入SQL文本,整体来说,配置数据库没悬念。