如何在高效的在一台服务器部署多个站点
在同一台服务器里如何运行多个网站,提供WEB、FTP、Mail等服务。
工具/原料
虚拟主机
Apache Web服务软件
方法/步骤
实现方法有三种: 1:IP的方法
①基于IP的方法: 在服务器里绑定多个IP,然后配置WEB服务器,把多个网站绑定在不同的IP上。访问不同的IP,就看到不同的网站。
2:基于主机名的方法
②基于端口的方法: 一个IP地址,通过不同的端口实在不同网站的访问。
3:基于端口方法。
③基于主机名的方法: 设置多个域名的A记录,使它们解析到同一个IP地址上,即同一个服务器上。然后,在服务器上配置WEB服务端,添加多个网站,为每个网站设定一个主机名。因为HTTP协议访问请求里包含有主机名信息,当WEB服务器收到访问请求时,就可以根据不同的主机名来访问不同的网站。
三种虚拟主机实现的基本配置
①基于IP虚拟主机的实现: 多个ip,需要把中心主机取消 打开web服务的主配置文档:vim /etc/httpd/conf/httpdconf DocumentRoot 注释掉 配置虚拟主机: DocumentRoot "/var/a/html" ServerName DocumentRoot "/var/ab/html" ServerName
vim /etc/hosts 1921681100 1921681101 浏览器中输入IP地址进行实验效果的验证。
②基于端口: DocumentRoot "/var/a/html" ServerName
DocumentRoot "/var/ab/html" ServerName
③基于主机名: 开启:NameVirtualHost 1921681100:80 ServerAdmin DocumentRoot /var/a/html
ServerAdmin DocumentRoot /var/ab/html
1、远程登录到自己的服务器,进入到存放网页的根目录。我用的是阿里云服务器Ubuntu1404版本,根目录路径为 /var/www/html。
2、查看自己需要部署的网页的文件组成,文件可以直接用rzgz上传;如果是文件夹,则需要先创建对应的文件夹,进入到文件夹内再上传文件。该页面中indexhtml文件可以直接上传,css、img、js、mid就需要先建立对应文件夹。
3、然后上传文件,输入 rz 命令(没有安装rzgz的需要先安装),然后回车并选择需要上传的文件,即可选中上传。
4、接下来上传带文件夹的。例如css。首先mkdir css 创建css文件夹, cd css进入到文件夹,然后选中css上传。ll 一下查看是否上传成功。
5、js文件、mid文件、img文件同上传css文件。但是注意:在一个文件夹中上传了文件后,需要退出该文件夹,再创建下一个文件夹,继续上传。
6、img文件夹中包含文件夹,依然是先创建对应文件夹,上传文件;退出文件夹;创建下一个文件夹,上传文件保证文件夹名称和网页文件中的一样,否则路径错误,不能正常显示。
7、回到html目录下,ll一下,对照网页文件查看所需文件是否都上传完。
8、在浏览器中输入服务器域名,即可看到自己的页面啦,页面部署工作完结。
国内的Windows Azure很快就要正式商用了,许多小伙伴们也有计划把现有的网站迁移到Windows Azure上去。但是国内相关的中文文档还是比较缺乏的,所以今天我就写了个超详细教程来教大家如何把ASPNET网站部署到Windows Azure上。demo用的网站是带有数据库的,并且最后还会演示如何绑定一个com域名到网站上。
我写的内容基本都是在Channel9上看来的,并且自己亲自实践过许多次的。大家现在阅读的这个博客就是用同样的方法部署到Windows Azure上的。所以不必担心文章坑爹。我的博客不像国内的许多网站那样,发表的内容都没自己测过,非常没有责任心。
下面进入正题。
1 部署数据库
首先,假设我们的网站已经开发好了。这是一个带有一个SQL Server数据库的ASPNET网站。第一步我们要做的,是把数据库部署到Windows Azure上去。
你需要的工具:SQL Server 2012 Management Studio。注意,仅仅要求SSMS为2012版,你的数据库引擎版本没有限制。
11 在Windows Azure上创建一个数据库服务器
在SQL DATABASES页面中,点击SERVERS选项卡进入SQL服务器列表页面。这里我已经有个服务器了,但是我还是教大家怎么创建一个新的。
12 点击页面最下方工具栏上的ADD按钮
13 在弹出的对话框中输入SQL服务器的用户名和密码
REGION选择China North,这是有原因的,为了省钱,稍后会解释。最下面的勾“ALLOW WINDOWS AZURE SERVICES TO ACCESS THE SERVER”一定要勾选,意思是允许你Azure上其他服务访问这个数据库,而不用给他们一个个在防火墙中指定IP地址。我们稍后要创建的网站也属于“AZURE SERVICES”的范畴,所以一定要勾选这个选项。
14 大约4秒后,数据库创建完成。
服务器的名字是Azure随机分配的,不能改。这里我们的服务器叫 yfb2xnprey
15 接下来,在CONFIGURE选项卡中,我们要把自己当前的IP地址加到防火墙规则里。
这仅仅是为了迁移数据库使用一次。用完以后为了安全建议大家删掉这个IP。IP地址支持单个的,也支持地址段,大家可以根据自己需要设置。
16 接下来,我们就要迁移数据库了。
打开SSMS 2012,按图中的格式填写服务器名称和你之前设置的用户名、密码。注意,用户名后面一定要有一个“@服务器名称”!
17 成功连接到SQL Azure服务器
因为是刚刚创建的新服务器,所以里面一个数据库都木有。
18 接下来,用SSMS直接向Azure迁移数据库。
连接到你本地服务器。在你要迁移的数据库上点右键,选择Tasks - Deploy Database to SQL Azure
在向导中再次点击Connect按钮,连接到SQL Azure服务器。然后输入新数据库的名称。“Edition of SQL Azure”根据自己需要选择,一般小型网站选择Web,1GB是最省钱的。然后点击Next开始部署。
部署完成后你能看到成功的结果
现在,回到Windows Azure管理平台中,也能够看见迁移后数据库了。
19 准备新的连接字符串
点击刚才创建的“Infodiaos”数据库,打开数据库管理页面,然后点击“View SQL Database connection strings”
在弹出的窗口中,复制ADONET的连接字符串。
接下来,在你的ASPNET项目里,打开WebReleaseConfig文件。如图所示,把connectionStrings节点根据自己网站的配置还掉。这个WebReleaseConfig文件里的配置会在用“Release”模式编译网站的时候自动把最终的webconfig换掉。“xdt:Transform="Replace"”的意思是在编译网站时候把connectionStrings节点整个换掉。
至此,数据库部分就搞定了。
2 部署网站
21 在Windows Azure上创建新网站
在Windows Azure管理平台最下方的工具栏上,点击"New"
选择Compute,Website,Custom Create。这是为了防止QUICK CREATE把我们不想要的设置默认撸进去。
在弹出的对话框中,输入网站在azure里的二级域名。如果文本框旁边出现绿色的对勾,就表示这个域名是可以用的。当然,这不是我们最终的域名。稍后会教大家绑定自己的域名上去。
REGION里面,要选择China North,也就是要和数据库在同一个地理位置,这样的话,同一个数据中心里的传输是不计费的。那为什么刚才数据库一定要选China North而不是China East呢?因为目前中国的网站服务TMD只能选North
DATABASE里面啥都不要选,我们稍后要手动搞这部分。
网站创建完成后,在web sites的列表里就能看见正在运行的空站点了。目前是Free模式的,这个是相当有限制的模式,不能绑定域名,稍后我们会更改。
22 将数据库链接到网站
为了方便管理,我们通常将数据库链接到网站中。注意,这里的链接仅仅是对于Azure管理平台来说的,并不是程序里的数据库连接。
切换到LINKED RESOURCES页面,点击“LINK A RESOURCE”。
然后选择“Link an Existing Resource”
选择“SQL Database”
选择我们的数据库,并且确认用户名和密码
完成连接后,应该能看到数据库已经被成功挂在网站下了。
23 从Visual Studio部署网站
最方便的部署方式是通过Visual Studio,直接Web Deploy到服务器上。当然,你也可以手动拷贝文件到Azure提供的FTP上。不过我这里只演示Web Deploy。FTP大家可以自己开荒。
在网站的DASHBOARD右侧,点击“Download the publish profile”。下载VS用的发布文件。
然后回到Visual Studio,在网站项目上点击右键,选择“Publish”,然后导入刚才下载的Profile文件。
之后,点击“Validate Connection”验证配置是否正确。如果正确,会看见一个绿色的√。
然后在Settings页面里,选择“Release”模式,这样才会把之前在WebReleaseConfig里配置的连接字符串换进去。
同时,建议勾选“Remove additional files at destination”,这样会删除Azure默认网站的文件,完全干净的部署我们的网站。
最后,确认发布的文件后,点击“Publish”发布网站。发布完成后,VS会自动打开目标网站的地址。这是Azure免费网站的二级域名。我们马上要把它换成自己的域名。
24 绑定域名
如果你自己申请了域名(cn垃圾域名除外),可以很方便的和Azure Website绑定。
首先,Free模式的网站是不支持自定义域名的,所以我们要在SCALE里把网站设置成"SHARED"或“STANDARD”,当然,这两种就要收费了。
之后,在CONFIGURE选项卡中,你就能看到绑定域名的地方了。
点击“manage domains”。
同时,我们要在域名的DNS设置里加两个CNAME记录。这个因人而异,我是DNSPOD的域名解析,
等待DNS记录生效后,切回到Windows Azure的管理界面就可以完成添加了。
绑定后的网站就是这样了,可以使用自己的域名,看上去非常的牛逼,而且国际域名不用备案哦。
云服务器部署网站还是一个蛮多步骤的操作过程。
如果是国内服务器要先备案,国外服务器就不用了。
备案号下来后把域名解析到IP地址
服务器绑定域名,安装环境面板
开始建站
最后做seo优化。
在云服务器上搭建网站步骤:
首先你要买好域名和云服务器,这里就不细讲了。选择云服务器系统时建议选择linux系统的,比如CentOS7
自己搭建网站的方式一般有两种,一种是自己手动配置服务器环境安装网站程序,第二种是利用服务器面板工具一键部署,比如宝塔面板。
接下来开始用宝塔面板搭建网站:
比如阿里云或者腾讯云,在控制台登陆到你的云服务器,这时进入到命令行界面,输入下面如图一行命令,自动安装宝塔面板工具。详细安装过程可以看:云服务器建立个人网站
安装好之后,输入数字14,获取到后台登陆地址和用户名及密码。如图
进去以后选择一键安装“LNMP”,接着登陆到宝塔后台,找到左侧“软件商店”,然后选择一键部署wordpress
按要求填好相关的信息就可以了。
搭建过程很简单,不会的话再多看两遍。
一、购买云服务器,这里以腾讯云为例。
如何购买这里就不废话了,购买成功后腾讯云会给你一个站内信,告诉你登录服务器的用户名和密码(我这里买的是centos72版本的)
二、配置服务器
如果你购买的是学生版的,它的默认配置是没有数据盘的,只有一个系统盘,所以也不需要你进行分盘、格式化盘、挂载等操作。如非学生,请参考如下:
https://cloudtencentcom/document/product/213/2042
三、环境配置
如果运行自己本地开发好的网站需要一定的运行环境,那么云服务主机当然也要配置相应的运行环境,下面以lamp运行环境为例。通过yum命令安装MySQL和PHP,注意,在centos7x版本里已经没有MySQL的集成包了(因为oracle想把MySQL闭源,社区人员开发出来maridb,也就是MySQL的衍生版)。具体细节请参考腾讯云官方文档:https://cloudtencentcom/document/product/213/2125
四、把本地文件上传到云端服务器上
上传位置为 /root/var/www/html
五、上传数据库文件。
a、首先通过腾讯云的控制台或其他软件都可以登录到腾讯云的服务器上,登录MySQL数据库,然后创建数据库。
b、把sql文件放到指定目录下,然后通过source命令导入数据库文件。
source命令导入SQL文件详解链接
导入sql的命令行如下:
source “路径名”+/mytest_emp_deptsql
==================================
六、如果有域名,将自己的域名绑定到服务器的公网ip上。
如何让部署在服务器上的网站速度得到提升
1、选择更适合用户的线路
不同的网站由于主要面向的市场不同,所以要想提高网站的加载速度的话最好还是选择合适的线路,例如像一些面向中国大陆地区的网站的话,例如-些视频站或者漫画网站的话,建议使用CN2直连线路的服务器,而如果做跨境电商或者代拍网的话则建议选择支国际线路,由于香港服务器位于亚太网络枢纽地区在选择服务器的时候支持多种线路接入,所以在选择服务器网络配置的时候一定要慎重。
2、选择合适的硬件配置
要想网站在访问高峰依旧确保速度稳定的话在选择硬件配置的时候建议选择重组的硬件配置冗余,由于网站在访问高峰的时候不仅需要网络方面的的可靠性,而且对于硬件资源的占用也是比较大的,免备案服务器,所以在租用服务器的时候如果会有比较大的流量的话建议选择相对更高--些的配置,这样才能确保即使在多用户同时访问的话也能流畅运行,此外还需要在软件方面对网站代码进行优化,定时清理缓存,这样才能确保网站程序在加载代码的时候更为高效。
3、接入高防CDN
除了以上两种常规操作,接入带高防的CDN服务能够有效提升网站的安全性和稳定性,不仅能够利用CDN的海外高防节点有效提升资源的缓存从而达到页面展开提速的的效果
0条评论