首页 文章 精选 留言 我的

精选列表

搜索[零点击],共10000篇文章
优秀的个人博客,低调大师

通过阿里云ECS从零开始构建网站

Elastic Compute Service(ECS)是阿里云提供的一种基础云计算服务。使用云服务器 ECS 就像使用水、电、煤气等资源一样便捷、高效。无需提前采购硬件设备,而是根据业务需要,随时创建所需数量的云服务器实例,并在使用过程中,随着业务的扩展,对云服务器进行扩容磁盘、增加带宽。如果不再需要云服务器,也可以方便的释放资源,节省费用。此外,阿里云服务器超低折扣正在进行中,最低每月仅需30元,详情访问活动页。 为帮助大家基于ECS构建自己的网站,本文将逐步介绍如何在ECS上架设自己的网站。现在网站主流的技术一般都采用Nginx+Mongodb+NodeJS,本教程将就此技术进行介绍,具体所涉及到的技术栈如下表所示: 系统组件 简介 Nginx nginx(发音"engine x")是俄罗斯软件工程师Igor Sysoev开发的免费开源web服务器软件。nginx于2004年发布,聚焦于高性能,高并发和低内存消耗问题。并且具有多种web服务器功能特性:负载均衡,缓存,访问控制,带宽控制,以及高效整合各种应用的能力,这些特性使nginx很适合于现代网站架构。目前,nginx已经是互联网上第二流行的开源web服务器软件。 MongoDB MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统。在高负载的情况下,添加更多的节点,可以保证服务器性能。MongoDB 旨在为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组成。MongoDB 文档类似于 JSON 对象。字段值可以包含其他文档,数组及文档数组。面向文档存储,操作起来比较简单和容易,在一些业务场景甚至可替代Mysql NodeJS Node.js就是运行在服务器端的javascript。node.js是一个基于Chrome Javascript运行时建立的一个平台。是一个事件驱动I/O服务端JavaScript环境(由C++编写),基于Google的V8引擎,V8引擎执行Javascript的速度非常快,性能非常好。 配置yum源 由于ECS系统默认依赖包不全,需要添加epel源,以后后期依赖包的完整下载,具体配置步骤如下: wget http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm rpm -ivh epel-release-latest-7.noarch.rpm然后通过下列命令检查是否已添加至源列表 yum repolist 如果运行命令后,看到下图红色部分,这说明已经配置成功。 准备相关依赖包 由于后续的服务器及nginx等在安全上、正则表达式方面有相关包的依赖,因此添加完epel源之后,还需通过下列命令下载相关依赖包,yum部署会根据需求,自行下载相关依赖包 yum install zlib pcre pcre-devel openssl openssl-devel pcre zlib -y 具体过程如下图所示 如果出现下图红色部分“complete”字样,则表示相关依赖包顺利下载完成,如 服务搭建 完成前面Yum源的配置及依赖包的下载之后,便可以架设本次网站需要的服务了,首先需要对Nginx进行编译部署,具体步骤如下: 下载Nginx包,将包放到 /opt目录下;(过程如图)执行命令: cd /opt && wget http://nginx.org/download/nginx-1.10.0.tar.gz 命令执行成功的话,可以看到如下图所示的结果页面。 然后通过执行下列命令进行默认编译安装 zxvf nginx-1.10.0.tar.gz && cd nginx-1.10.0 && ./configure --prefix=/opt/nginx && make && make install 编译安装成功后会得到如下图所示的结果: 为取得良好的性能,我们安装两个Nginx服务,按照第二步重复执行命令即可。需要注意的是需要对prefix指定的安装目录进行修改,此处修改为Nginx_28819,如下图所示 完成后,需要修改Nginx_28819服务端口,在文件路径: /opt/nginx_28819/conf/下找到nginx.conf文件,然后执行下列命令: -i 's/80/28819/' /opt/nginx_28819/conf/nginx.conf 通过此命令旨在将原先配置文件80端口更改为28819端口,这么做的原因很简单:同一台机器两个服务端口一样,是不能正常启动,故需要修改端口 在正式启动Nginx服务之前,需要对配置文件Nginx.conf进行校验,以避免出现不必要的问题,具体执行命令如下:/opt/nginx/sbin/nginx –t 没有问题的话,将出现如下图所示的结果然后再执行下列命令/opt/nginx_28819/sbin/nginx –t如果出现下图红色标识的结果,则表示校验通过完成校验后,通过下列命令启动nginx/opt/nginx/sbin/nginx && /opt/nginx_28819/sbin/nginx然后通过下列两条命令验证nginx是否正常运行:netstat –ntlp|grep 80 netstat –ntlp|grep 28819如果正常运行,将出现下图的结果。至此,完成ngnix部署与启动。 完成nginx编译部署、启动之后,需要再安装部署授权模式Mongodb,具体步骤如下: 首先通过执行下列命令下载Mongodb https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-3.2.4.tgz 下载完成后,在当前目录下会出现mongodb对应的安装文件,如下图所示 下载完成后,需要对Mongodb安装包进行解压,然后并重命名文件夹为mongod(为简化操作起见),然后再创建DB和log文件夹,并创建日志文件,执行命令如下: zxvf mongodb-linux-x86_64-rhel70-3.2.4.tgz && mv mongodb-linux-x86_64-rhel70-3.2.4 mongod && cd mongodb && mkdir db && mkdir log && touch /opt/mongod/log/mongodb.log 完成前述操作后,直接通过下列命令启动服务端Mongodb并指定端口为28820 bin/mongod --dbpath=/opt/mongod/db --logpath=/opt/mongod/log/mongodb.log --port=28820 & 然后通过下列命令添加用户并验证是否正常启动 /opt/mongod/bin/mongo 主机IP:28820 具体如下图所示:在交互式命令行中敲入命令:use admin,如下图所示通过此命令进行管理员用户模式,在该模式下可以创建用户,此处帐号设定为zzhgreentown, 密码设定为greentown。然后在交互命令行中敲入命令:db.createUser( { user: "zzhgreentown", pwd: "greentown", roles: [ { role: "root", db: "admin" } ] }) 完成用户创建后,重启Mongodb服务,并以授权模式启动,具体执行命令如下: -9 ps -ef|grep mon|grep -v grep|awk '{print $2}' && setsid bin/mongod --dbpath=/opt/mongod/db --logpath=/opt/mongod/log/mongodb.log --auth --port=28820 & 完成后,通过show dbs验证服务是否正常重启,主要确认:进程是否在;端口是否正常监听;登录Mongodb;匿名及登录查看admin是否报错,如下图所示:至此,完成MongoDB的安装与部署。 最后,需要配置NodeJS环境,具体步骤如下: 进行Node部署,执行如下命令: /opt && wget http://nodejs.org/dist/v6.10.2/node-v6.10.2.tar.gz && ./configure --prefix=/usr/local/node && make && make install 然后通过node –v命令进行部署验证,如下图所示: 然后执行下列命令进行Npm部署 install –y npm htop && npm install -g pm2 完成后,通过npm –v命令验证部署,如下图所示:至此NodeJS环境部署完成。 部署代码包&&验证 源码包含三个文件夹: ylj.zip(杨柳郡报名页面),client.zip(后端管理页面),server.zip(服务端)如下图 unzip ylj.zip将解压的html文件夹移至/opt/nginx(mv html/ /opt/nginx)文件夹下 unzip client.zip将解压的html文件夹移至/opt/nginx_28819(mv html/ /opt/nginx_28819)文件夹下 unzip server.zip;cd server;然后执行命令npm i —-production(持续时间稍长),待完成后执行pm2 start index.js开启服务即可完成部署。 页面效果图: 参考文档:http://www.nginx.cn/doc/general/overview.htmlhttp://www.runoob.com/mongodb/mongodb-intro.htmlhttp://blog.csdn.net/u012299002/article/details/51101016 http://www.centoscn.com/image-text/config/2014/1108/4095.html

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

用户登录
用户注册