服务器应用快速部署技巧总结(入门级)

写了个可以挂在后端运行的FastAPI的服务, 想要把它挂在服务器上运行, 还记得一开始折腾的时候非常痛苦, 用的centos7, 装Python3装了半天碰到各种奇奇怪怪的报错, 如何FastAPI的接口文档显示不出来. 然后就是端口被防火墙墙了, 系统自带一个Nginx又把80端口占了1, 运行的时候没指定host是’0.0.0.0’又访问不了, 后边又有跨域的问题.

好不容易运行好了之后, 发现终端一关闭服务器的应用也退了, 又搜了半天这么让他挂在后台. 然后就是服务器重启的时候应用不能自启.

还有很多运行的时候路径引用出了问题的, 这么多问题加起来对于当时还是新手的我简直是连续坐牢, 经常是碰到一个问题搜半天才解决.

还有就是当时改文件也花了很长时间, 每次修改都要复制粘贴到对应的文件里, 相当麻烦.

于是乎今天特此来总结一下从本地的后端写完到服务器部署于运维的一些小技巧, 以便后人不要再做我曾经做过的牢了.

急性子的老哥可以直接看加粗的部分跟着来, 然后用最简单粗暴的方式就可以部署自己的服务了. 别看文章一个大标题下还有些小标题, 在简单粗暴的标题前都有一个!!!符号直接按照这个来就很快, 很多如果图快都可以跳过的, 总的来说一个字: 快 !

另外, 这篇文章按照标题顺序提供了一个从本地到云部署简单粗暴的路线, 但有些地方难免不够具体, 有一定概率运行不成功, 这时候就可以详细搜索对应的问题解决后再进入下一步了.

本篇博客的局限性

本篇博客的目的是帮助一个写完一个WebAPP并购买了服务器的新手快速把应用部署到服务器上, 并提供简单的运维. 通常情况下由于新手对相关知识了解并不多, 因此采用很小的篇幅和简单粗暴的方式有时候也可以帮助新手快速达到目的, 过于详细的描述和过长的篇幅有可能一看就不想看了, 其实真的部署起来并不难, 选好平台还是很快的.

对于有些开发经验的人来说这篇文章看起来过于肤浅. 笔者认为, 部署程序这些本质上和玩电脑没什么不同, 只是在习惯一种操作系统, 用的多了就会了然于胸, 并不需要一上来就学Linux各种的东西怎么用, 碰到了慢慢解决, 过个几年就很熟悉了, 重点在于先上手做.

!!! 操作系统选型

推荐使用Ubuntu最新版本的操作系统, 安装需要的软件直接apt-get install就安装了, 非常非常的方便, 省时省力. 像是常见的Jdk, python3, Mysql, Redis, gitlab这些,都是一句话就装上了, 根本不需要找一些很长的教程一步步对着操作.

对于新手来说, 是省时省力的首选.

防火墙设置

服务商自带的防火墙关闭

买好了服务器装好了系统之后, 很有可能是有两个防火墙的, 第一个是服务器所在的平台提供的, 比如说腾讯云在控制台那里就有个防火墙. 然后第二个防火墙是操作系统自带的, 如果要使用ssh或者是tcp这些还是要放行相应的端口的.

!!!最简单粗暴的方式是直接放行所有tcp端口.

在这里插入图片描述

也可以添加规则, 这样感觉比较安全.
在这里插入图片描述

然后登录进去服务器之后可以直接把系统里的防火墙关了(简单粗暴), 也可以放行, 这样感觉安全一些.

!!! 关闭Ubuntu防火墙:
  • 检查防火墙状态:sudo ufw status
  • 关闭防火墙:sudo ufw disable
  • 禁止防火墙开机启动:sudo systemctl disable ufw.service
放行端口
  • 首先,确保ufw服务已启动:sudo systemctl start ufw.service

  • 将需要放行的端口添加到防火墙规则中:sudo ufw allow <port>/tcp

    其中,<port>为需要放行的端口号。

  • 重新加载防火墙规则:sudo ufw reload

连接服务器的终端推荐

推荐使用WindTerm.

界面如下:

在这里插入图片描述

新建会话

像我的服务器密码都是可以改的, 直接改一下记住简单粗暴
在这里插入图片描述

然后就可以登录了
在这里插入图片描述

安装Python3/Jdk/Mysql/Redis/EMQX等

及其推荐使用Ubuntu-Server, 如果不是的话也建议换成Ubuntu-Server. 因为确实是太方便了. 安装这些包也就复制粘贴一下一条命令就好了.

!!! 这里按需复制粘贴对应的命令就好了.
sudo apt update
sudo apt install python3
sudo apt install openjdk-17-jdk
sudo apt install mysql-server
sudo apt install redis-server
# EMQX
wget https://www.emqx.io/downloads/broker/v5.1.5/emqx-ubuntu22.04-v5.1.5_amd64.deb
# 请注意,以上命令中的软件包版本可能不是最新的,请根据需要替换软件包的版本号。
sudo dpkg -i emqx-ubuntu22.04-v5.1.5_amd64.deb
sudo systemctl start mysql
sudo systemctl status mysql
sudo systemctl start redis
sudo systemctl status redis
sudo systemctl start emqx
sudo systemctl status emqx
#测试Python3/JDK:
python3 --version
javac -version
# 如果您看到输出的版本号,则表示Python 3和JDK已成功安装。
Mysql初始化

Mysql之前每次都是头大, 装上之后不会设置总是出错. FLUSH PRIVILEGES;这句话特别重要, 运行了什么权限相关的命令一定要刷新一下权限, 这样才会生效!

创建用户名密码
mysql -u root -p
CREATE USER 'root'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'username'@'localhost';
FLUSH PRIVILEGES;
exit;
(可选)MySQL服务器启用远程访问:

有了用户名密码之后本地就可以访问了, 如果之前在本机开发测试通过了, Mysql用户密码创建的和本机的一样就不用改什么了, 可以直接运行.

然而, 我当时做为新手的时候代码老是出bug, 于是就去数据库看看有没有添加进去, 为了方便远程连接, 可以再修改

sudo mysql
GRANT ALL ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
FLUSH PRIVILEGES;

在MySQL服务器上运行以下命令:

sudo nano 'bind-address' /etc/mysql/mysql.conf.d/mysqld.cnf

找到这个bind-address,改成这个就可以监听所有的了

bind-address            = 0.0.0.0

上传代码/上传打包文件

直接用WindTerm自带的文件管理器上传/下载

最简单粗暴的方式, 就右键,单击一下就有这些选项, 按需操作即可

在这里插入图片描述

另外WindTerm还提供了下载重传的功能, 就是说下载下来改了的文件按一下保存, 会提示要不要把服务器里这个文件也改了, 还是很方便的.

在这里插入图片描述

(可选)Git上传/下载

先把文件push到Github/Gitlab/Gitee仓库, 然后下载即可.

#本地推代码 先装git 然后找个Github/Gitlab/Gitee建个账号, 建一个仓库, 记住仓库克隆的网址
git init
git add .
git commit -m "x"
git remote add origin 你的代码仓库网址
git push origin master:main

#服务器拉代码
git clone 你的代码仓库地址
# 然后代码仓库的文件夹就出现在运行这个指令的目录下了
其他方式

还有一些其它软件比如说宝塔之类的或者其它集成了一些服务的终端都可以上传文件, 甚至是百度网盘哈哈哈哈, 一开始只会用wget索性就传到百度网盘里上传文件现在想想也挺有意思.
还有使用IDE自带的远程部署功能以及docker部署等方法,后期随缘更新相关内容啦

运行程序

按照步骤来说到这里环境已经要装好

切换到指定的文件夹按照自己包依赖的文件装包然后运行即可.

运维技巧

到这里已经可以在终端运行了, 只不过退出终端服务也就关了. 而且难受的是有时候还不知道开没开成功, 想关的时候也不是那么好关掉.

!!! 方法0 用nohup指令直接运行

nohup是一个简单有效的让程序在后台运行且忽略挂起信号的方法。使用nohup运行程序时,你可以通过将程序的输出重定向到文件来记录日志,以便稍后查看。

nohup python3 app.py > output.log 2>&1 &

这将在后台启动程序并将输出写入output.log文件。要停止程序,需要手动查找并结束进程。

到这里就简单粗暴服务之间挂上去了, 这里提供一个简单粗暴根据运行的端口号关闭服务的脚本, 把它找个地方保存一下,然后在这个地方运行这个脚本比如我这里是:python3 kill_pory.py 8080 这个kill_port.py是保存的脚本的名称, 8080是我要杀掉的端口.

#!/usr/bin/python3

'''
杀掉占用指定端口的程序
如果程序占用后台的80端口,运行后程序将关闭
例如:
    python3 kill_port.py 80
'''
import os
import subprocess
import sys
if len(sys.argv)<2:
    print("您未输入参数,请重新输入")
    sys.exit(1)

port=sys.argv[1]
cmd = f"netstat -tunlp|grep 0.0.0.0:{port}"

res = subprocess.Popen(cmd, stdout=subprocess.PIPE, shell=True)

pid_port = 0
for line in res.stdout.readlines():
    l = line.decode("utf-8")
    l = l.split()

    if l[3] == f'0.0.0.0:{port}':
        pid_port = l[len(l) - 1].split('/')[0]
        # print('80端口,进程: '+pid_80)

if type(pid_port) == str:
    os.system("kill -9  " + pid_port)
    print(f'{port}端口,进程: ' + pid_port + ' 已关闭,查看以确认是否关闭成功')
else:
    print("没找到,请手动关闭")
os.system(f"netstat -tunlp|grep {port}")


看到这里的老哥应该已经把服务挂上了, 这样只要服务器不关机服务就能一直跑啦,一般买的服务器是不会轻易关机的. 成功!

方法1 使用Systemd服务

Systemd是Linux系统的一个服务管理器,可以用来管理和控制服务。要使用Systemd运行程序,需要创建一个服务配置文件。

  1. 创建一个新文件/etc/systemd/system/myapp.service,并编辑内容如下:
[Unit]
Description=MyApp
After=network.target

[Service]
User=myuser
Group=mygroup
WorkingDirectory=/path/to/your/app
ExecStart=python3 /path/to/your/app/app.py
Restart=always

[Install]
WantedBy=multi-user.target
  1. 使用以下命令启动服务:
sudo systemctl start myapp.service
  1. 要在系统启动时自动启动服务,请运行:
sudo systemctl enable myapp.service
方法2 使用Python脚本

你可以使用Python的subprocess模块在后台运行程序,同时记录程序的输出。

import subprocess

def run_app():
    cmd = "python3 app.py"
    with open("output.log", "wb") as f:
        subprocess.Popen(cmd, stdout=f, stderr=subprocess.STDOUT, shell=True)

if __name__ == "__main__":
    run_app()

将此代码保存为run_app.py,并运行它以在后台启动程序。

方法3 在应用程序里直接集成运维

将运维功能直接集成到应用程序中,例如使用daemonize库来将Python程序转换为守护进程。这样,你可以更好地控制程序的启动、停止和监控。

首先,安装daemonize库:

pip3 install daemonize

然后,修改你的app.py,添加以下内容:

from daemonize import Daemonize
import sys

def main():
    # 这里是你的应用程序代码

pid_file = "/tmp/my_app.pid"
daemon = Daemonize(app="my_app", pid=pid_file, action=main)
daemon.start()

现在,当你运行app.py时,它将在后台作为守护进程运行。

后续更新预告

其实这里每一个部分还是颇有讲究的, 为了简单粗暴方便快速部署, 这里使用了多种非常简单粗暴的方法. 后续可能随缘进一步再发一篇文章补充一下剩下的技巧.

  • 3
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
完整清晰 PDF 扫描文档 这个PDF文件是我花钱买来的,现在为了挣积分,拿出来与大家分享!! -------------------------------------------------------------------------------- SQL Server 2008高级程序设计 2/6 SQL Server 2008 2010 高级程序设计 作者:(美)维埃拉 著,杨华,腾灵灵 译 出版社:清华大学 出版日期:2010-4-1 ISBN:9787302222729 字数:1250000 页码:730 -------------------------------------------------------------------------------- 内容提要 -------------------------------------------------------------------------------- Microsoft SQL Server 2008极大地完善了数据库引擎的核心组件,也改变了数据库应用程序的构建方式。《SQL Server 2008高级程序设计》由世界顶尖SQL Server权威专家Robert Vieira编写,旨在指导您熟练运用一系列日趋复杂的功能,助您更高效地管理数据。   本书首先介绍SQL Server 2008的新功能,然后在更详实的示例代码的引导下全面深入地展开论述,讨论了如何编写复杂查询、构建各种数据结构以及提高应用程序性能,还讲述了如何管理高级脚本和数据库以及如何确定和改正脚本错误。   本书提供了快速创建和部署数据驱动的解决方案来满足业务需求的信息,介绍了新数据类型、索引结构、管理功能和高级时区处理等重要内容,掌握这些知识后,您将使自己的数据库发挥㈩最大功效。   主要内容   ◆除规范化外的数据设计技巧   ◆尽量提高应用程序运行速度的方法   ◆有关存储过程和用户定义函数的全部内容   ◆存储过程的高级处理方法   ◆报表服务和集成服务的用法   ◆提高数据库安全性的提示信息   ◆如何利用XML和XQuery支持   ◆通过修改特定数据值进行推理分析的步骤   读者对象   本书面向想要学用所有SQL Server 2008功能的有经验的开发人员。 目录 -------------------------------------------------------------------------------- 第1章 回顾SQL Server中的对象  1.1 数据库的构成  1.2 数据库对象概述  1.3 SQL Server数据类型  1.4 SQL Server对象标识符  1.5 小结 第2章 工具  2.1 联机丛书  2.2 SQL Server配置管理器  2.3 SQL Server Management Studio  2.4 SQL Server Business Intelligence Development Studio  2.5 SQL Server集成服务(SSIS)  2.6 Reporting Services  2.7 BulkCopy Program(bcp)  2.8 SQL Server Profiler  2.9 sqlcmd  2.10 小结 第3章 提出更好的问题:高级查询  3.1 子查询概述  3.2 构建嵌套子查询  3.3 相关子查询  3.4 派生表  3.5 EXISTS运算符  3.6 INTERSECT和EXCEPT运算符  3.7 通用表表达式(CTE)  3.8 递归查询  3.9 合并  3.10 利用外部调用完成复杂操作  3.11 性能考虑  3.12 小结 第4章 XML集成  4.1 XML数据类型  4.2 提取XML格式的关系数据  4.3 有关XML索引的提示  4.4 层次数据概述  4.5 小结 第5章 细心推敲,大胆设计  5.1 进一步了解规范化  5.2 关系  5.3 图表  5.4 逻辑设计与物理设计  5.5 通过经典的BLOB处理基于文件的信息  5.6 子类别  5.7 数据库重用  5.8 反规范化  5.9 通过分区方法进行扩展  5.10 SQL Server关系图工具  5.11 关于日期列  5,12 小结 第6章 核心存储和索引结构  6.1 SQL Server存储  6.2 理解索引  6.3 创建、修改和删除索引  6.4 明智地决定何时何地使用何种索引  6.5 维护索引  6.6 小结 第7章
ASP.NET 2.0快速入门(16):ASP.NET 2.0 应用开发小技巧 本课程介绍一些前面课程没有介绍的asp.net的特性,这些特性本身并不复杂,但是都非常实际用,通过使用这些特性,开发会变得方便。 • 开始时间: 2006-2-20 14:30:00 • 技术等级: Level 200 • 系列: ASP.NET 2.0 快速入门 • 技术: ASP.NET • 产品: Visual Studio 2005 • 讲师: 苏鹏 - 微软最有价值专家(ASP.NET MVP) MSDN WebCast 特邀讲师 • 下载视频 WMV MP4 MP3 代码 课件 Q&A ASP.NET 2.0快速入门(15):ASP.NET 2.0 的扩展应用 ASP.NET 2.0被设计为开放性的,开发者可以用自己开发的功能与组件替换已经编译好的功能与组件。本次课程的内容主要介绍这些可扩展的功能和组件,并通过一些示例演示如何调用编写自己的扩展功能组件。 • 开始时间: 2006-2-7 14:30:00 • 技术等级: Level 300 • 系列: ASP.NET 2.0 快速入门 • 技术: ASP.NET • 产品: Visual Studio 2005 • 讲师: 苏鹏 - 微软最有价值专家(ASP.NET MVP) MSDN WebCast 特邀讲师 • 下载视频 WMV MP4 MP3 课件 Q&A ASP.NET 2.0快速入门(14):ASP.NET 2.0管理你的asp.NET应用 本课介绍了使用.NET 2.0各种应用配置的方法,包括环境变量配置,系统性能分配配置,通过本课的学习,用户可以熟悉asp.NET的应用环境配置方式,并为自己的开发定制更好的运行环境。 • 开始时间: 2006-1-19 14:30:00 • 技术等级: Level 300 • 系列: ASP.NET 2.0 快速入门 • 技术: ASP.NET • 产品: Visual Studio 2005 • 讲师: 苏鹏 - 微软最有价值专家(ASP.NET MVP) MSDN WebCast 特邀讲师 • 下载视频 WMV MP4 MP3 代码 课件 Q&A ASP.NET 2.0快速入门(13):ASP.NET 2.0 监视你的应用 Asp.NET2.0 提供对应用程序的性能监测与关注。 • 开始时间: 2006-1-4 14:30:00 • 技术等级: Level 200 • 系列: ASP.NET 2.0 快速入门 • 技术: ASP.NET • 产品: Visual Studio 2005 • 讲师: 苏鹏 - 微软最有价值专家(ASP.NET MVP) MSDN WebCast 特邀讲师 • 下载视频 WMV MP4 MP3 代码 课件 Q&A ASP.NET 2.0快速入门(12):ASP.NET 2.0网站快速导航 本课介绍了使用.net 2.0快速建立一个网站导航系统,使用到.net 2.0的几种新技术特性,使用数据绑定控件和导航控件的绑定来实现这一新技术。通过本科的学习,听众可以了结到ASP.NET 2.0新控件的综合使用方法。 • 开始时间: 2005-12-27 10:00:00 • 技术等级: Level 300 • 系列: ASP.NET 2.0 快速入门 • 技术: ASP.NET • 产品: Visual Studio 2005 • 讲师: 苏鹏 - 微软最有价值专家(ASP.NET MVP) MSDN WebCast 特邀讲师 • 下载视频 WMV MP4 MP3 代码 课件 Q&A ASP.NET 2.0快速入门(11):ASP.NET 2.0代码国际化 Asp.net2.0 提供了一种可以让网站在多种语言版本之间切换的方法。通过本课的学习,听众可以了解到如何使自己的网站资源自由变幻,并快速国际化。 • 开始时间: 2005-12-5 14:30:00 • 技术等级: Level 200 • 系列: ASP.NET 2.0 快速入门 • 技术: ASP.NET • 产品: Visual Studio 2005 • 讲师: 苏鹏 - 微软最有价值专家(ASP.NET MVP) MSDN WebCast 特邀讲师 • 下载视频 WMV MP4 MP3 代码 课件 Q&A ASP.NET 2.0快速入门(10):ASP.NET 2.0 数据传送机制 ASP.NET提供了一套新的数据缓存与传送机制,即profile技术,通过这种新技术可以有效把数据缓保存到制定位置,安全性和访问性能都会有大幅度提高。 • 开始时间: 2005-11-21 14:30:00 • 技术等级: Level 200 • 系列: ASP.NET 2.0 快速入门 • 技术: ASP.NET • 产品: Visual Studio 2005 • 讲师: 苏鹏 - 微软最有价值专家(ASP.NET MVP) MSDN WebCast 特邀讲师 • 下载视频 WMV MP4 MP3 代码 课件 Q&A ASP.NET 2.0快速入门(9):ASP.NET 2.0 数据绑定高级技巧 本课介绍更高级的数据绑定技巧,不但把数据绑定在表示层,更通过使用架构的方法,来实现跨层数据绑定。 • 开始时间: 2005-11-7 14:30:00 • 技术等级: Level 300 • 系列: ASP.NET 2.0 快速入门 • 技术: ASP.NET • 产品: Visual Studio • 讲师: 苏鹏 - 微软最有价值专家(ASP.NET MVP) MSDN WebCast 特邀讲师 • 下载视频 WMV MP4 MP3 课件 Q&A ASP.NET 2.0快速入门(8):ASP.NET 2.0 web part Web part是ASP.NET 2.0的又一新特性,通过使用web part用户可以在客户端非常容易的重新部署网页的布局。通过本课的学习,听众可以了解到如何设计这种可以结构的网页。 • 开始时间: 2005-10-26 14:30:00 • 技术等级: Level 300 • 系列: ASP.NET 2.0 快速入门 • 技术: ASP.NET • 产品: Visual Studio 2005 • 讲师: 苏鹏 - 微软最有价值专家(ASP.NET MVP) MSDN WebCast 特邀讲师 • 下载视频 WMV MP4 MP3 代码 课件 Q&A ASP.NET 2.0快速入门(7):ASP.NET 2.0 数据绑定的基本技巧 ASP.NET 2.0提供了大量方便的数据绑定控件和方法,通过使用这些控件,用户可以方便的把数据帮定在表示层,让客户端方便的显示各种数据。 • 开始时间: 2005-10-9 14:30:00 • 技术等级: Level 300 • 系列: ASP.NET 2.0 快速入门 • 技术: ASP.NET • 产品: Visual Studio 2005 • 讲师: 苏鹏 - 微软最有价值专家(ASP.NET MVP) MSDN WebCast 特邀讲师 • 下载视频 WMV MP4 MP3 代码 课件 Q&A ASP.NET 2.0快速入门(6):ASP.NET 2.0 成员管理 本课介绍了如何使用基于ASP。NET自带的认证管理系统,以及基于此系统的用户安全和身份验证机制,该机制同时提供一套非常完备的分角色用户信息管理。通过本课的学习听众可以了如何快速建立一个分角色的安全网站。 • 开始时间: 2005-9-26 14:30:00 • 技术等级: Level 200 • 系列: ASP.NET 2.0 快速入门 • 技术: ASP.NET • 产品: Visual Studio 2005 • 讲师: 苏鹏 - 微软最有价值专家(ASP.NET MVP) MSDN WebCast 特邀讲师 • 下载视频 WMV MP4 MP3 代码 课件 Q&A ASP.NET 2.0快速入门(5):ASP.NET 2.0 缓存技术 ASP.NET 2.0提供了一些新的用于提升程序性能的技术特性,其中,缓存技术是非常重要的一个特性,它提供了一种非常好的本地数据缓存机制,可以非常容易的定制属于数据缓从,从而有效的提高数据访问的性能。 • 开始时间: 2005-9-16 10:00:00 • 技术等级: Level 200 • 系列: ASP.NET 2.0 快速入门 • 技术: ASP.NET • 产品: Visual Studio 2005 • 讲师: 苏鹏 - 微软最有价值专家(ASP.NET MVP) MSDN WebCast 特邀讲师 • 下载视频 WMV MP4 MP3 代码 课件 Q&A ASP.NET 2.0快速入门(4):ASP.NET 2.0 Master Page主题以及皮肤的使用 本课程介绍asp.NET 2.0的几个设计方面的新特性,通过master page听众可以使诸多网页遵循同一个架构,theme和skin使网页保持统一外观并使网页风格统一化。主要针对网页的美工以及网页风格管理人员。要求听众有一定HTML和CSS基础 • 开始时间: 2005-8-29 14:30:00 • 技术等级: Level 200 • 系列: ASP.NET 2.0 快速入门 • 技术: ASP.NET • 产品: Visual Studio 2005 • 讲师: 苏鹏 - 微软最有价值专家(ASP.NET MVP) MSDN WebCast 特邀讲师 • 下载视频 WMV MP4 MP3 代码 课件 Q&A ASP.NET 2.0快速入门(3):ASP.NET 2.0的新控件 本课程介绍asp.NET新的内置控件,通过本课程的学习,可以了解asp.NET 2.0比asp.NET 1.0所增加的新控件的用法,并且了解这些新控件的各种特性.主要是针对没有vs2005开发经验的听众,并希望通过该课程了解vs2005自带控件的广大初级开发者。需要听众使用过vs2005的IDE环境 • 开始时间: 2005-8-15 14:30:00 • 技术等级: Level 200 • 系列: ASP.NET 2.0 快速入门 • 技术: ASP.NET • 产品: Visual Studio 2005 • 讲师: 苏鹏 - 微软最有价值专家(ASP.NET MVP) MSDN WebCast 特邀讲师 • 下载视频 WMV MP4 MP3 代码 课件 Q&A ASP.NET 2.0快速入门(2):ASP.NET 2.0 数据绑定 介绍如何使用ASP.NET开发自己的网站应用,第二讲主要介绍如何使用数据绑定服务器端控件,建设自己的web应用程序。 • 开始时间: 2005-7-29 14:30:00 • 技术等级: Level 200 • 系列: ASP.NET 2.0 快速入门 • 技术: ASP.NET • 产品: Visual Studio 2005 • 讲师: 苏鹏 - 微软最有价值专家(ASP.NET MVP) MSDN WebCast 特邀讲师 • 下载视频 WMV MP4 MP3 代码 课件 Q&A ASP.NET 2.0快速入门(1):ASP.NET 2.0介绍 介绍如何使用ASP.NET开发自己的网站应用,第一讲主要介绍如何使用基本客户端和服务器端控件,建设自己的web应用程序。 • 开始时间: 2005-7-19 14:30:00 • 技术等级: Level 100 • 系列: ASP.NET 2.0 快速入门 • 技术: ASP.NET • 产品: Visual Studio 2005 • 讲师: 苏鹏 - 微软最有价值专家(ASP.NET MVP) MSDN WebCast 特邀讲师 • 下载视频 WMV MP4 MP3 课件 Q&A
SQL Server 2008高级程序设计 6/6 SQL Server 2008 2010 高级程序设计 作者:(美)维埃拉 著,杨华,腾灵灵 译 出版社:清华大学 出版日期:2010-4-1 ISBN:9787302222729 字数:1250000 页码:730 -------------------------------------------------------------------------------- 内容提要 -------------------------------------------------------------------------------- Microsoft SQL Server 2008极大地完善了数据库引擎的核心组件,也改变了数据库应用程序的构建方式。《SQL Server 2008高级程序设计》由世界顶尖SQL Server权威专家Robert Vieira编写,旨在指导您熟练运用一系列日趋复杂的功能,助您更高效地管理数据。   本书首先介绍SQL Server 2008的新功能,然后在更详实的示例代码的引导下全面深入地展开论述,讨论了如何编写复杂查询、构建各种数据结构以及提高应用程序性能,还讲述了如何管理高级脚本和数据库以及如何确定和改正脚本错误。   本书提供了快速创建和部署数据驱动的解决方案来满足业务需求的信息,介绍了新数据类型、索引结构、管理功能和高级时区处理等重要内容,掌握这些知识后,您将使自己的数据库发挥㈩最大功效。   主要内容   ◆除规范化外的数据设计技巧   ◆尽量提高应用程序运行速度的方法   ◆有关存储过程和用户定义函数的全部内容   ◆存储过程的高级处理方法   ◆报表服务和集成服务的用法   ◆提高数据库安全性的提示信息   ◆如何利用XML和XQuery支持   ◆通过修改特定数据值进行推理分析的步骤   读者对象   本书面向想要学用所有SQL Server 2008功能的有经验的开发人员。 目录 -------------------------------------------------------------------------------- 第1章 回顾SQL Server中的对象  1.1 数据库的构成  1.2 数据库对象概述  1.3 SQL Server数据类型  1.4 SQL Server对象标识符  1.5 小结 第2章 工具  2.1 联机丛书  2.2 SQL Server配置管理器  2.3 SQL Server Management Studio  2.4 SQL Server Business Intelligence Development Studio  2.5 SQL Server集成服务(SSIS)  2.6 Reporting Services  2.7 BulkCopy Program(bcp)  2.8 SQL Server Profiler  2.9 sqlcmd  2.10 小结 第3章 提出更好的问题:高级查询  3.1 子查询概述  3.2 构建嵌套子查询  3.3 相关子查询  3.4 派生表  3.5 EXISTS运算符  3.6 INTERSECT和EXCEPT运算符  3.7 通用表表达式(CTE)  3.8 递归查询  3.9 合并  3.10 利用外部调用完成复杂操作  3.11 性能考虑  3.12 小结 第4章 XML集成  4.1 XML数据类型  4.2 提取XML格式的关系数据  4.3 有关XML索引的提示  4.4 层次数据概述  4.5 小结 第5章 细心推敲,大胆设计  5.1 进一步了解规范化  5.2 关系  5.3 图表  5.4 逻辑设计与物理设计  5.5 通过经典的BLOB处理基于文件的信息  5.6 子类别  5.7 数据库重用  5.8 反规范化  5.9 通过分区方法进行扩展  5.10 SQL Server关系图工具  5.11 关于日期列  5,12 小结 第6章 核心存储和索引结构  6.1 SQL Server存储  6.2 理解索引  6.3 创建、修改和删除索引  6.4 明智地决定何时何地使用何种索引  6.5 维护索引  6.6 小结 第7章 更高级的索引结构  7.1 XML索引  7.2 用户定义的数据类型  7.3 层次数据  7.4 空间数据  7.5 文件流  7.6 启用文件流  7.7表压缩  7.8 小结 第8章 视图  8.1 回顾视图语法  8.2 更复杂
SQL Server 2008高级程序设计 4/6 SQL Server 2008 2010 高级程序设计 作者:(美)维埃拉 著,杨华,腾灵灵 译 出版社:清华大学 出版日期:2010-4-1 ISBN:9787302222729 字数:1250000 页码:730 -------------------------------------------------------------------------------- 内容提要 -------------------------------------------------------------------------------- Microsoft SQL Server 2008极大地完善了数据库引擎的核心组件,也改变了数据库应用程序的构建方式。《SQL Server 2008高级程序设计》由世界顶尖SQL Server权威专家Robert Vieira编写,旨在指导您熟练运用一系列日趋复杂的功能,助您更高效地管理数据。   本书首先介绍SQL Server 2008的新功能,然后在更详实的示例代码的引导下全面深入地展开论述,讨论了如何编写复杂查询、构建各种数据结构以及提高应用程序性能,还讲述了如何管理高级脚本和数据库以及如何确定和改正脚本错误。   本书提供了快速创建和部署数据驱动的解决方案来满足业务需求的信息,介绍了新数据类型、索引结构、管理功能和高级时区处理等重要内容,掌握这些知识后,您将使自己的数据库发挥㈩最大功效。   主要内容   ◆除规范化外的数据设计技巧   ◆尽量提高应用程序运行速度的方法   ◆有关存储过程和用户定义函数的全部内容   ◆存储过程的高级处理方法   ◆报表服务和集成服务的用法   ◆提高数据库安全性的提示信息   ◆如何利用XML和XQuery支持   ◆通过修改特定数据值进行推理分析的步骤   读者对象   本书面向想要学用所有SQL Server 2008功能的有经验的开发人员。 目录 -------------------------------------------------------------------------------- 第1章 回顾SQL Server中的对象  1.1 数据库的构成  1.2 数据库对象概述  1.3 SQL Server数据类型  1.4 SQL Server对象标识符  1.5 小结 第2章 工具  2.1 联机丛书  2.2 SQL Server配置管理器  2.3 SQL Server Management Studio  2.4 SQL Server Business Intelligence Development Studio  2.5 SQL Server集成服务(SSIS)  2.6 Reporting Services  2.7 BulkCopy Program(bcp)  2.8 SQL Server Profiler  2.9 sqlcmd  2.10 小结 第3章 提出更好的问题:高级查询  3.1 子查询概述  3.2 构建嵌套子查询  3.3 相关子查询  3.4 派生表  3.5 EXISTS运算符  3.6 INTERSECT和EXCEPT运算符  3.7 通用表表达式(CTE)  3.8 递归查询  3.9 合并  3.10 利用外部调用完成复杂操作  3.11 性能考虑  3.12 小结 第4章 XML集成  4.1 XML数据类型  4.2 提取XML格式的关系数据  4.3 有关XML索引的提示  4.4 层次数据概述  4.5 小结 第5章 细心推敲,大胆设计  5.1 进一步了解规范化  5.2 关系  5.3 图表  5.4 逻辑设计与物理设计  5.5 通过经典的BLOB处理基于文件的信息  5.6 子类别  5.7 数据库重用  5.8 反规范化  5.9 通过分区方法进行扩展  5.10 SQL Server关系图工具  5.11 关于日期列  5,12 小结 第6章 核心存储和索引结构  6.1 SQL Server存储  6.2 理解索引  6.3 创建、修改和删除索引  6.4 明智地决定何时何地使用何种索引  6.5 维护索引  6.6 小结 第7章 更高级的索引结构  7.1 XML索引  7.2 用户定义的数据类型  7.3 层次数据  7.4 空间数据  7.5 文件流  7.6 启用文件流  7.7表压缩  7.8 小结 第8章 视图  8.1 回顾视图语法  8.2 更复杂
### 回答1: 阿里云提供了 Apsara Clouder 云计算专项技能认证,其中包括了云服务器 ECS 入门的内容。云服务器 ECS 是一种属于阿里云的计算服务,它能够通过网络提供计算能力,使得用户可以快速地创建和管理云服务器。 在阿里云平台上,我们可以使用资源管理器或者控制台创建自己的云服务器 ECS。首先,我们需要选择适合自己的规格和操作系统。无论是 Windows 还是 Linux,都有适合不同场景的规格供我们选择。 创建完云服务器 ECS 之后,我们需要了解如何进行基础的配置和操作。登录到云服务器 ECS 后,我们可以进行系统的初始化设置、安全设置、以及网络设置等操作。此外,我们需要学习如何通过公网和内网访问云服务器 ECS,以及如何在云服务器 ECS 中部署和运行应用程序。 此外,云服务器 ECS 还提供了许多高级的功能,如负载均衡、自动化运维、容器化部署等。针对这些高级功能,我们需要深入了解云计算和云服务器 ECS 的相关知识,才能够进行有效的部署和管理。 总之,云服务器 ECS 入门是 Apsara Clouder 云计算专项技能认证的一部分,它能够帮助用户快速了解云计算和云服务器 ECS 的基本知识,从而在云计算领域中具备竞争力。 ### 回答2: Apsara Clouder云计算专项技能认证的云服务器ECS入门是一个非常有用的课程,它可以帮助学习者掌握阿里云服务器的基础知识和使用方法。在这个课程中,学习者可以学到如何购买和配置云服务器ECS,以及如何管理和维护其操作系统和应用程序。此外,学习者还可以学习到如何将云服务器与其他阿里云服务进行集成,如云盘、负载均衡和CDN等。 通过学习这个课程,学习者可以建立一个基本的云计算环境,将其用于网站搭建、应用开发、备份存储和数据分析等方面。在学习课程的过程中,学习者可以通过实际操作来加深对云计算的理解和掌握阿里云服务器ECS的使用。此外,学习者还可以与其他学习者交流,分享彼此的经验和技巧。 总的来说,Apsara Clouder云计算专项技能认证的云服务器ECS入门是一门很实用的课程,它可以帮助学习者快速入门阿里云服务器ECS,掌握云计算的基础知识和使用方法,在云计算领域中迅速成长。同时,它还为学习者提供了一个与其他学习者交流和分享的平台。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值