nginx+uwsgi 和nginx+gunicorn区别、如何部署

nginx+uwsgi 和nginx+gunicorn区别、如何部署,第1张

大家是采用的何种部署方式?

第一种,高并发稳定一点

我在很多的博客中都看过有关 Flask 应用的部署,也有很多博主在开博后都记录了部署的教程,因为其中的坑可以说不少。一开始我在网上看到相比较与 Ubuntu , CentOS 因为更新少作为服务器的操作系统会更加稳定。所以在第一次购买云服务器时,我选择了 CentOS ,后来由于 CentOS 不同发行版的 Nginx 缘故,我又换成了 Ubuntu 的镜像

首先呢,我们先来了解下关于Web服务器与Web应用还有WSGI之间的联系

WSGI (Web Server Gateway Interface),翻译为 Python web 服务器网关接口,即 Python 的 Web 应用程序(如 Flask )和 Web 服务器(如 Nginx )之间的一种通信协议。也就是说,如果让你的 Web 应用在任何服务器上运行,就必须遵循这个协议。

那么实现 WSGI 协议的web服务器有哪些呢?就比如 uWSGI 与 gunicorn 。两者都可以作为Web服务器。可能你在许多地方看到的都是采用 Nginx + uWSGI (或 gunicorn )的部署方式。实际上,直接通过 uWSGI 或 gunicorn 直接部署也是可以让外网访问的,那你可能会说,那要 Nginx 何用?别急,那么接来下介绍另一个Web服务器—— Nginx

Nginx 作为一个高性能Web服务器,具有负载均衡、拦截静态请求、高并发等等许多功能,你可能要问了,这些功能和使用 Nginx + WSGI 容器的部署方式有什么关系?

首先是负载均衡,如果你了解过 OSI模型 的话,其实负载均衡器就是该模型中4~7层交换机中的一种,它的作用是能够仅通过一个前端唯一的URL访问分发到后台的多个服务器,这对于并发量非常大的企业级Web站点非常有效。在实际应用中我们通常会让 Nginx 监听(绑定) 80 端口,通过多域名或者多个location分发到不同的后端应用。

其次是拦截静态请求,简单来说, Nginx 会拦截到静态请求(静态文件,如),并交给自己处理。而动态请求内容将会通过 WSGI 容器交给 Web 应用处理;

Nginx 还有其他很多的功能,这里便不一一介绍。那么前面说了,直接通过 uWSGI 或 gunicorn 也可以让外网访问到的,但是鉴于 Nginx 具有高性能、高并发、静态文件缓存、及以上两点、甚至还可以做到限流与访问控制,所以选择 Nginx 是很有必要的;

这里可以说明,如果你选择的架构是:Nginx + WSGI容器 + web应用,WSGI容器相当于一个中间件;如果选择的架构是uWSGI + web应用,WSGI容器则为一个web服务器

普遍的部署方式都是通过让 Nginx 绑定 80 端口,并接受客户端的请求将动态内容的请求反向代理给运行在本地端口的 uWSGI 或者 Gunicorn ,所以既可以通过 Nginx + uWSGI 也可以通过 Nginx + Gunicorn 来部署 Flask 应用,这篇教程中都将一一介绍这两种方法

当然采用不同的 WSGI 容器, Nginx 中的配置也会有所不同

我们现在虚拟环境下安装好 uWSGI :

安装完成之后我们在项目的目录下(即你实际创建的Flask项目目录,在本文所指的项目目录都假设为/www/demo)创建以 ini 为扩展名的配置文件。在设置与 Nginx 交互的时候有两种方式:

第一种是通过配置网络地址,第二种是通过本地的 socket 文件进行通信。需要注意的是,不同的交互方式下, Nginx 中的配置也会有所不同

如果采用的是第一种网络地址的方式,则将之前创建 uwsgiini 配置文件添加如下的配置内容:

这里的 wsgi-file 参数所指的 runpy 其实是启动文件,你也可以使用 managepy 。不过我通常习惯创建一个这样的文件,可以直接运行该文件来启动项目:

保存好配置文件后,就可以通过如下的命令来启动应用了:

如果你采用的是第二种本地 socket 文件的方式,则添加如下的配置内容:

可以看到,其实与网络地址的配置方式只有 socket 参数的配置不同,在这里填写好路径名和文件名并启动 uWSGI 后,将会自动在改目录下生成 nginx_uwsgisocket 文件,这个文件就是用来与 Nginx 交互的。

首先我们来通过 apt 安装 Nginx :

安装完成之后,我们 cd 到 /etc/nginx/ 的目录下(可能由于不同系统导致不同的Nginx发行版缘故,目录有所差别,在此只针对 Ubuntu 中的发行版的Nginx),可以看到 Nginx 的所有配置文件。

其中 nginxconf 文件为主配置文件,可以用来修改其全局配置; sites-available 存放你的配置文件,但是在这里添加配置是不会应用到 Nginx 的配置当中,需要软连接到同目录下的 sites-enabled 当中。但是在我实际操作的过程中中,当我在 sites-available 修改好配置文件后,会自动更新到 sites-enabled 。如果没有的话,则需要像上述的操作那样,将修改好的配置文件 软链接 到 sites-enabled 当中

在上边说到,配置 uWSGI 有两种与 Nginx 交互的方式,那么选择不同的方式的话在 Nginx 的配置也会有所不同:

第一种:网络配置方式

这里的 proxy_set_header 设置的三个参数的作用都是能够直接获得到客户端的 IP ,如果你感兴趣可以参考: Nginx中proxy_set_header 理解

用 include uwsgi_params 导入 uWSGI 所引用的参数,通过 uwsgi_pass 反向代理给在 localhost:8001 运行的 uWSGI :

在每次完Nginx配置文件内容后,需要通过如下的命令来重启Nginx:

第二种:socket文件方式

与上边的配置内容大体相同,只是在配置 uwsgi_pass 不是反向代理给网络地址,而是通过 socket 文件进行交互,我们只需要指定之前设置的路径和文件名即可:

首先先在虚拟环境下安装 Gunicorn :

安装完成后,我们来创建以 py 结尾的配置文件,这里我参考了Jiyuankai的 GitHub 关于 Gunicorn 的配置文件内容:

需要注意的是要在配置文件的同层目录下创建 log 文件,否则运行 gunicorn 将报错。添加完配置内容并保存为 gconfigpy 文件后,我们就也可以通过 gunicorn 来运行 Flask 应用了:

和 uWSGI 的任意一种配置方法类似,只是在 location 中的配置有所不同:

通过Gunicorn的Nginx配置中,我们只需要通过 proxy_pass 参数反向代理给运行在 http://localhost:5000/ 上的Gunicorn

如果你采取如上的任意一种部署方式,在Nginx与uWSGI或Gunicorn同时运行,并且配置无误的状态下,那么你现在应该是可以通过你的公网 ip 或者域名访问到你的网站了。

但是还有一个问题,到目前为止,uWSGI和gunicorn都是直接通过命令行运行,并不能够在后台运行,也是当我们关闭了xShell(或者你使用的是Putty及其他SSH连接的软件),将无法再访问到你的应用。所以我们需要让uWSGI或gunicorn在后台运行,也就是所谓的daemon(守护进程)。

如果你熟悉Linux命令,你应该知道在Linux中后台运行可以通过 nohup 命令,例如我们要让gunicorn在后台运行,我们只需要运行 nohup 命令:

运行后你可以通过 ps -e | grep gunicorn 指令来查看到当前gunicorn的运行状态:

如果你选择的是uWSGI,同样也可以通过 nohup 命令来实现守护进程:

这样你就可以关闭连接服务器的终端,还能通过你的浏览器访问到你的 Flask 应用了!

但是 nohup 运行的后台程序并不能够可靠的在后台运行,我们最好让我们的后台程序能够监控进程状态,还能在意外结束时自动重启,这就可以使用一个使用Python开发的进程管理程序supervisor。

参考: https://wwwcnblogscom/Dicky-Zhang/p/6171954html

首先我们通过 apt 来安装supervisor:

安装完成后,我们在 /etc/supervisor/confd/ 目录下创建我们控制进程的配置文件,并以conf结尾,这样将会自动应用到主配置文件当中,创建后添加如下的配置内容:

在上面的配置文件中, [program:demo] 设置了进程名,这与之后操作进程的状态名称有关,为 demo ; command 为进程运行的命令,必须使用绝对路径,并且使用虚拟环境下的 gunicorn 命令; user 指定了运行进程的用户,这里设置为 root

保存配置文件之后,我们需要通过命令来更新配置文件:

命令行将显示: demo: added process group ,然后我们来启动这个 demo 进程:

当然你也直接在命令行输入 supervisorctl 进入supevisor的客户端,查看到当前的进程状态:

通过 stop 命令便可以方便的停止该进程:

云服务器以 简单、高效、安全、可靠、弹性强 等特性被越来越多的用户追崇,对于云服务器主要承载几个侧面的工作,功能层面:为企业提供IaaS层硬件资源,包含数据的分布式存储、分布式计算等;资源层面:提供资源整合动态管理,为PaaS层面提供相关资源共享服务,对比物理服务器而言对于企业用户无需提前购买自身的固态应用服务器硬件而是以按年缴费的模式进行云服务器的租赁,尽管云服务器一方面有效降低了IT的运维成本,但同时企业的核心数据也对外暴露存在数据安全的隐患。

伴随现在企业上云成为趋势,越来越多的应用软件提出自己的云领域软件平台如:明源云、泛微云、金蝶云等, 为解决数据暴露的安全隐患云服务器也由原有的公有云衍生出私有云、混合云等多种形态, 但伴随云形态的演进,“云孤岛、云竖井”也随之而来,对于企业用户而言原有的信息竖井并没有因为上云得到根本解决,因此能够实现云间集成、云到端、端到端无缝连接融合的中间集成平台是企业上云后的迫切需求,从而避免企业上云后云孤岛、云竖井的情况发生。

综上:云服务器确实能够灵活适配、弹性伸缩有效解决IT服务器运维管理的难度,但企业上云的同时需要理智面对、选择,不要盲目跟风,同时兼顾云间集成整合、数据对接的模式及标准管理,避免仅仅是将物理应用转换部署模式而不是从根本解决企业的实际数据管控述求。

这是一个非常好的问题,通过了解云服务器的功能是了解云计算的重要方式之一,相对于解释云计算整体的概念来说,解释云服务器的功能也更有针对性。

云服务器是云计算平台一种比较常见的理解方式,从功能上来看,云服务器主要承载三大方面功能,其一是云服务器要实现存储功能(分布式);其二是要实现计算功能(分布式);其三是要实现资源整合功能。云计算以分布式存储和分布式计算为核心,通过采用虚拟化的方式来实现资源的动态管理,通过资源整合的方式来实现自身功能的扩充,这一点主要是为了提供PaaS相关服务。

云服务器针对于不同的用户诉求可以提供不同的服务功能,早期的云服务器主要指硬件资源的云端化管理,在服务形式上主要以IaaS服务为主,用户可以直接通过互联网来操作远端的服务器,以便于实现软件的部署,在硬件资源管理方面可以更加灵活。

随着云计算自身的不断发展,目前云服务器的功能也得到了较为明显的扩展,为用户提供的服务也不仅仅局限于硬件资源,也可以通过自身的资源整合能力,来提供一系列软件服务。比如目前可以通过云服务器实现行业领域的专属应用,这就是所谓的行业“全栈云”,而且如果把人工智能平台部署到云服务器上,还可以进一步打造“智能云”,这都是未来云服务器的重要发展方向。

最后,对于用户来看,要想充分发挥出云服务器的功能,需要掌握一定的编程知识,而对于企业来说,要想充分发挥出云服务器的功能,还需要组织一个技术团队。

以腾讯云服务器CVM为例,从实例类型、镜像、云硬盘、网络、云监控、负载均衡、弹性伸缩灯方面来阐述下云服务器的功能。

实例类型

实例类型决定了用于实例的主机硬件配置。每一个实例类型提供不同的计算和存储能力,用户可以基于需要提供的服务规模而选择实例计算能力、存储空间和网络访问方式。实例启动后,用户即可像使用传统计算机一样使用它,用户对启动的实例有完全的控制权。

镜像

云硬盘

网络

云监控

负载均衡

弹性伸缩

云服务器,实际跟现实的服务器是差不多的,基本上现实服务器能做的云服务器都能做,而且也可以节省一批维护成本,其实就想当于你租了别人的服务器,别人替你维护基本的设施,你只需要把产品部署上去就可以了。

物理服务器能做的它都能做。

如果你提问没有方向的话,答案就是上面那个。

这是一个专业技术的问题,云服务器可以做很多技术类的事情!比如:

一、可以用来搭建个人网站,一般可以写写博客文章之类的。

二、如果性能配置高点的可以用来搭建企业门户网站,宣传企业以及产品是非常不错的。

三、学习研究用,学生可以用来学习linux、java、php、c++等开发技术语言,搭建测试demo。

四、应用级可以搭建app,提供用户下载。做一些大的赚钱项目。这个就需要比较强的专业技术知识作为支撑才能做起来!

对一般人来说,云服务器可以用来搭建个人网站,写点文章心得分享到网上还是可以的!

云服务器是一种简单高效、安全可靠、处理能力可弹性伸缩的计算服务。其管理方式比物理服务器更简单高效。用户无需提前购买硬件,即可迅速创建或释放任意多台云服务器。云服务器帮助您快速构建更稳定、安全的应用,降低开发运维的难度和整体IT成本,使您能够更专注于核心业务的创新。

偶尔还是能看到,有人问个人买云服务器能用来怎么玩好,下面我根据个人经验做一点分享。

总的来讲,买服务器可以分为3种目的:

学习:学习各种计算机相关技术

分享:个人博客等

试验:个人有应用的一些想法,想快速试验一下

下面是具体的用法(某一个项目可能包含上面说的多个目的在一起,就不具体划分了):

做小程序服务端

小程序现在很火,是很多应用的重要入口,也容易分享导流,小程序可以用云开发是不需要买服务器的,但是不能做后台管理,运维不方便,这个时候需要用云服务器来做后端API的支持

移动App的服务端

和小程序一样,云服务器可以用来跑API

博客

个人博客,没什么好讲的,当然,也可以去用github的page来搭建

试验性网站

如果你有一些想法,比如一些工具性或者内容新的应用想法,想通过网站的方式来呈现,那就需要云服务器

梯(嘘)子(嘘)

这个不多说了,需要买境外的服务器,如果你问我有什么稳定的方案,那咱们不能在这里说。

量化交易机器人

量化交易的学习,如果你不抱着暴发户的心态,还是可以去玩玩的,了解和学习一下常规的量化交易是怎么回事,那么可以买个境外的服务器,跑虚拟货币的量化交易,可以学到很多有趣的知识 

爬虫

这个用途很多,做垂直网站或者机器学习,都需要大量的数据,可以写个爬虫让它帮你抓数据,放在这个服务器上跑

学习linux服务器技术

如果没有用过linux,那么买个服务器,试着搭建一些服务,这是一个很有趣的学习过程

学习网络技术

和服务器技术一样,没什么好说的

搭建jupyter或者jupyterlab环境

喜欢搞AI的同学,在学习机器学习基础知识,比如统计概率学等课程的时候,需要一个实验环境,jupyter无疑是一个非常棒的工具

> 暂时想起这么多,以后想起陆续补充

那么,另外一个问题,就是面对市面上的 阿里云、腾讯云、华为云 这些云提供商,还有同学会问怎么选择服务器比较划算,对于上面列的这种入门级的需求,我建议这样考虑:

1 搭个博客建个个人网站这类需求,怎么便宜怎么来。

2 如果需要跑长时间占用cpu的程序,不要买突发型,要买100%cpu的。

3 要充分利用新人身份,能买3年就买3年。

其他不需要考虑太多,因为你不是做一个大规模或者性能要求强烈的项目,如果你有那么多精力,不如直接投入上面讲的这些具体的项目实践上去,然后随着具体的项目的深入,你的需求才会具体化,这个时候再按照你的真实需求去升级就好。

那么如果你的真实需求来了,又怎么买更便宜呢?

1 换一个服务器提供商,用新人身份去买

2 等优惠券或者搞活动的时候一次性买几年的套餐

现在磐石云福州一区高防云服务器1核2G50GB1M三年69876,相当于每月仅需1941元,每个月一杯奶茶的钱,不香吗?

好了,还什么等想到在陆续补充。

 云服务适合下列这些行业:

 一、网站建设

 用户不需要预先购买硬件。他们可以根据网站的大小和访问流量等因素购买合理的硬件配置。由于可以灵活地升级云服务器,因此后续升级和硬件更换非常方便,可以满足网站的不同阶段和需求。

 二、小程序、APP开发

 我们只要有智能手机,我们就可以自己去注册微信号进行沟通,这也导致了小程序的火爆,它高于很多同一水平的APP软件,在一些无聊的时间内,我相信许多用户都依赖于各种APP应用程序来度过一天中最琐碎的时间。饮食,购物和 娱乐 是APP的主要风格。对于小程序和APP开发行业,云服务器易于构建且易于部署。它可以灵活地添加硬件配置,并可以在不同的开发环境之间灵活地切换。非常适合APP和小程序的开发。

 三、 游戏 行业

 面对 娱乐 性质比较强的 游戏 行业,已经影响到了很多的人,它因此被称为第九艺术。对于 游戏 行业而言,云服务器可以很好地构建 游戏 平台,以满足 游戏 行业庞大的运维工作量以及运维自动化的要求。在场景要求较高的情况下,随着玩家基础的变化,云服务器的高灵活性也可以进行相应的调整,从而可以有效避免资源浪费,节省维护成本。

 四、视频直播

 在现在这个互联网便利的网络时代,视频直播正在进入成千上万的家庭。在每一个高墙绿瓦下,可能会有一个梦想的主人。当然,这是个玩笑。无论是构建个人直播服务平台还是主流流行的直播平台,云都可以随时扩展和配置服务器,灵活性和稳定性没有问题。基于分布式集群的云服务器可以提供稳定而高效的服务。

一、用来放网站

网站服务器的应用通常是最常见的,按规模可以根据网站的日均PV区分,按类型可以区分为门户类网站、企业类网站、个人网站、交易型网站、论坛、博客等。

网站应用服务器的部署流程如下:在云服务器上部署网站前,首先必须确保您有云服务器的管理权限,或者是云服务器的空间和接口程序。

拥有云服务器的管理权限后,在云服务器上实现网站应用的步骤如下:

1、需要在系统上安装安装web服务如IIS(默认有装),apache;

2、需要安装网站的相应环境,如aspnet10/20/30/35/40,php;

3、需要网站所使用的数据库,如mysql,mssql。

拥有云服务器的空间和接口程序,在云服务器上实现网站应用的步骤如下:

1、 需要在web服务上配置好网站所需的相应环境;

2、 需要添加网站所使用的权限;

3、 开启网站使用的端口。

部署网站需要注意以下几点:

1、 防火墙是否有做一些限制,如网站的80端口是否有开启;

2、 服务器是否有做一些会阻止外部访问网站的安全策略;

3、 域名解析式否正确,是否对网站绑定了相应的域名;

4、 相关的网站环境是否配置正确,网站文件的权限是否设置正确,可以使用探针进行测试。

二、办公系统应用云服务器

随着电脑在办公中的需求越来越重要,办公软件也成为了企业必须具备的基本软件应用。办公软件的种类非常多,应用最多的主要是OA、ERP、CRM、企业邮箱等,这些办公软件在云服务器上的部署是大致相同的。

在云服务器上实现办公应用的步骤如下:

1、 安装所需要的办公软件;

2、 安装办公软件相应的数据库;

3、 检查办公软件所需要的端口是否有开启;

4、 检查防火墙开启情况,是否有对端口进行限制。

虽然各种常规软件应用在云服务器上部署大致相同,但也存在一定的差异,具体如下:

常规软件分为CS架构和BS架构的软件,CS架构的软件直接安装即可,安装BS架构的软件需要安装该软件所需要的环境,如aspnet,php。

部署办公类应用需要注意以下几点:

1、 如果是BS架构的的应用,需要安装相应的环境如aspnet,php;

2、 软件所使用的端口是否有限制,如邮局使用的端口一般为25和110;

3、 软件的服务是否有设置成开机启动,避免服务器重启后,应用没有启动。

三、数据库应用云服务器

随着IT行业应用部署规模的日益增大,越来越多的企业使用云服务器作为单独的数据库应用服务器,用云服务器安装数据库服务。

在云服务器上实现数据库应用的步骤如下:

1、 安装相应的数据库软件如mysql;

2、 配置mysql数据库,设置数据库文件的存放路径,对配置文件进行相应的编译;

3、 管理数据库的用户名与密码,避免使用弱密码,防止被入侵;

4、 确认是否已将数据库服务设置成开机自动启动。

部署数据库应用需要注意以下几点:

1、 对数据进行备份,以免数据丢失。

2、 保证数据库应用服务器的安全,以免黑客**数据或破坏数据。

四、虚拟主机应用云服务器

虚拟主机极大的促进了网络技术的应用和普及,虚拟主机的租用服务也成了网络时代新的经济形势。之前都是使用物理服务器来实现虚拟主机应用,随着云计算技术的发展与普及,越来越多的网络用户选择了使用云服务器来实现虚拟主机应用。

在云服务器上实现虚拟主机应用的步骤如下:

1、 搭建NET环境和php环境等;

2、搭建好IIS来存放主机站点,搭建好FTP服务,方便数据的上传于下载;

3、确认是否设置虚拟主机服务开机自动启动。

部署虚拟主机应用需要注意以下几点:

1、 需要确保网络的畅通,保证主机网站能够正常的运行;

2、 需要安装相应的杀毒软件,配置相应的安全策略,确保服务器的安全与稳定,主机才能运行流畅;

3、 可以安装虚拟主机管理系统软件,方便购买与管理虚拟主机;

4、 如果安装了虚拟主机管理系统软件,则需要保障它的正常运行,防止管理主机与购买主机时出错。

最近一年开源项目特别的热,很多技术大会或论坛都以开源项目作为主题进行探讨,可见这是一种趋势。而Github作为开源项目的著名托管地,可谓无 人不知,越来越多的个人和公司纷纷加入到Github的大家族里来,为开源尽一份绵薄之力。对于个人来讲,你把自己的项目托管到Github上并不表示你 参与了Github开源项目,只能说你开源了自己的项目,可以任别人自由下载。那么该如何参与Github的开源项目呢?相信很多人都有这方面的疑问,网 上也有一些参差不齐的教程教大家如何“pull request”、如何“commit”等等。但这些教程往往不够全面或不够完全正确,搞不好可能让你陷 入一个误区。鉴于此,前几天Github官方团队写了一篇很棒的文章Contributing to Open Source on GitHub,专业指导大家如何参与Github的开源项目。作为Github的入门级粉丝,将这篇教程翻译出来,供那些对开源项目刚兴趣的人参考借鉴。

正确的做法是购买主机类存储空间,上传网站模板,绑定域名跟ip,打开域名就能建立一个网站。

drupal,wordpress,joomla都是基于PHP,不错的开源内容管理系统,无需写代码,直接网站开发,再申请一个域名,一个web服务器空间网站马上就可以上线了

方案一:花钱找外包公司,妥妥的全给你搞定!

方案二:github+jejyll或者github+hexo

方案三:购买阿里云或者腾讯云服务预装服务器时都可以一键安装博客网站

方案四:有许多免费的博客系统支持一键搭建

方案五:找个会的朋友帮你搞定

1阿里云买个服务器、域名

2安装宝塔

3利用宝塔一键部署功能

4搞定!

可以建博客、企业官网、论坛、行业门户、电子商务等任何网站,选择对应的CMS管理系统就行了。

按照这个步骤,不懂得搜下教程,就搞定了!其实网上也有视频教程,很简单!

1、找人帮忙做,最好能找认识的做,私人活,去找公司做的话太贵了,你给的钱至少要在给你做网站的这段时间内能养得起公司吧,不划算。另外得买个域名,一个服务器或虚拟空间。

2、去阿里云市场的建站市场直接买一个网站,买了后自己解析个域名到给的地址就行了,就些网站一般都是模板站,定制化没那么高,可能不能完全符合自己的需求,但是很方便,不用自己操太多心,直接登录后台去改改内容就行了。

无论哪种方法如果服务器在国内的话都需要去备案,如果只是临时挂点东西,可以用花生壳在家挂着也行。

按下面的步骤完成你的网站:

一、服务器的购买

我们要运行自己的网站,首先要拥有一台自己的服务器。在这里我仅讲一下ecs云服务器和虚拟主机的选择和区别,和一些买服务器的技巧。

1选择虚拟主机还是云服务器?

这个问题比较常见和普遍的,但是可以比较负责的说当然是ECS虚拟服务器比虚拟主机好的多。首先价格上的优势比较明显了,你去购买虚拟主机的价格几乎都要比服务器的价格贵了,虚拟主机简单可以理解为虚拟服务器上做的N个隔间,一台虚拟服务器上可以生出无数个虚拟主机来,可以安装无数个的网站的,并且服务器的运维也变得越来越容易,很多的服务器面板可以使用,可视化的操作界面让大多数人可以轻松上手操作,但是能让自己操作的余地不是很多,仅仅是使用别人事先配置好的。

推荐大家买ecs云服务器,这种服务器开始的样子是黑白命令,纯linux系统,我们只要加上常用的宝塔面板,便可以可视化进行操作,十分方便。

2服务器所在的地点

服务器地点的选择上遇到这样两个问题,一是需不需要备案,二是访问速度。

对于备案,只要是在国内地点的服务器,是都必须经过备案的,这里的备案不光是服务器,而且需要绑定上你的域名(域名购买下一节会讲到),而且域名备案又是有点繁琐,而且很多时候在填备案你建站的理由时,会被驳回。所以很多人会选择国外的服务器或者香港的服务器,这些服务器在运行时不会要求备案。

对于访问速度,当然是国内的服务器更快更好,但是价格相对较贵的国外服务器和香港服务器也不会太差。

综合来说,如果你是想长期做站长,还是推荐你买国内的云服务器并且备案,毕竟备案除了可以使网站能正常被访问,还是很多其他建站的条件(比如上限微信小程序用的域名必须经过备案)。如果你仅仅是想玩一段时间,你可以有这几种选择。1购买国内服务器,并且购买别人已经备案好的域名(相对较贵)2购买国外服务器或者香港服务器,做好偶尔会无法访问的心理准备。

3服务器价格

如果你是学生,那么恭喜你,你可以用很低的价格购买到各大公司的学生机(阿里云、腾讯云、华为云,亚马逊等等都有学生机),价格不会很高,也就10元/月左右,基本是1g-2g内存,1核或2核cpu,都加赠40g不等的硬盘,对于运行正常网站来说绰绰有余。学生机的申请按照不同公司的要求,可能需要校园认证,或者学生证,这里就不详细说了。

4服务器系统

服务器一般是linux和windows,我们建站就不要用windows了,选择linux就好,一般选择centos作为使用的系统。

域名的购买

有木有一些童鞋看到价格一下子放弃了呢?别这样嘛,毕竟也是一次锻炼的机会!下面介绍一下域名的购买。

对于上面提到的如果你是想买已备案的域名,那么可以跳过本节,因为那属于二手域名了,我就不在本文介绍了。

推荐大家购买万网的域名,我是在阿里云购买的,如下图,可以选择你想要的字母组合,最便宜目前就是top域名了(我记得xyz好像更便宜,不过是搞活动才有),最低是9元/年,注意是一年!所以域名是十分便宜的,大家可以选择自己名字或者其他你喜欢的,都不会太贵。

这是我搜索的小锦鲤的拼音,最低的果然是xyz才6元首年(注意是首年哦,续费可能贵!),所以大家要仔细斟酌。

域名解析

域名和服务器都购买成功后,需要把域名解析到服务器(通俗来说就是让服务器认识这个域名,绑在一起,让访问这个域名变成访问服务器),我以万网的域名为例。

在域名中直接选择解析,点击添加解析,这里的记录类型,对于云服务器大多数都是A类,下面填上你想要的的二级域名,自定义喜欢就行。最下面记录值就是你的云服务器的ip地址,时间10分钟默认不变。

服务器面板安装

下面进入正题!购买服务器后,基本上在网页的最上端都有控制台三个字,可以进入这里管理我们买好的服务器,这里我通过我购买的华为云的ecs服务器为例,教大家安装宝塔面板(放心免费的!)

首先我们远程登录购买的服务器。

第一次远程登录也是这种黑白的样子,是不是很丑,也没有图形界面。我这里运行过所以有很多代码。第一次登录需要输入用户名和密码,用户名是默认的root,密码在购买服务器时候会要求自己创建。如果没有要求创建,默认是123456或者root。这里有个需要注意的地方,输入用户名root后回车,这些没有问题,但是在输入密码的时候我们是看不到的,实际是已经输入进去了。肯定有很多小伙伴发现是空白,又多输入几次,导致密码次次不对,还以为服务器出现了问题。

输入了正确的用户名密码后,就会出先像我这样的,代表登录成功。

随后输入宝塔面板的安装命令

这里放的十分抱歉,我试过直接打字,但是排版太差了。我会在文章底部以文档下载的方式给出,并且会附带给大家好用的工具,还请见谅!

注意不要关闭页面!最后安装完成它会给出你登录面板的地址、账号、密码,一定要牢记!

安装好之后,一定不要落下的一步,那就是放行端口(登录面板需要8888端口,一般服务器不会开启)

对于华为云,首先选择安全组,点击更改安全组规则

添加入方向安全组(因为我们要进入嘛),点添加规则,写上8888,ip就是0就可以,不用改。

最后访问安装好后给出的地址,填上账号密码,ok,我们已经成功了一半了!登录是这样滴

首次安装完成后,会有提示进行必要插件的安装,包括php,mysql,nginx,推建大家用上述组合。安装需要一段时间,具体要看服务器的性能。

添加站点

我们首先为我们的站点绑定一个域名,点击网站-添加站点-填上你的域名(也可以填上你的服务器ip地址,也是可以登陆的),php版本自由选择,其他的默认就可以。

创建好站点后,实际就是创建了一个文件夹,我们把源码文件上传到文件夹即可。在网站目录的网站名字,直接点击就可以跳转到那个文件夹目录。

点击上传,添加问价,把源码的压缩包添加进去,然后点击解压就可以了。

这里除了宝塔面板自带的文件传输,还是推荐大家用ftp上传,比较好用的软件有flashfxp、Xftp等等,文末的压缩包内会给出!

我们以上传一个影视源码作为例子。上传后解压文件到根目录(注意一定是根目录,也就是说在这个文件夹就有很多其他的小文件,不能在出现单独的一个文件夹了),随后访问域名会自动跳出安装。由于每个源码的安装不同,访问的页面也不同,但是必要的数据库创建还是要有,所以重点是为大家介绍整体思路,以此举一反三。

我们会常常遇到这些个需要填的数据库信息,数据库名,数据库用户名,数据库密码,大家很多都会搞蒙,这些都对应什么呢?

首先我们创建一个数据库,在宝塔面板最左侧选择数据库,点击添加数据库,这里的数据库名、用户名、密码分别对应上面的三个,都是自定义填写的,填好记住就行,另外的选项都不用改。

把3个信息依次填入,然后点下一步安装,即可安装成功。随后根据源码的不同,会弹出网站后台和前台的地址,既可以正常访问了!

恭喜你拥有了你的第一个网站!

很多知名网购平台上都可以购买相关服务,例如说:网页设计、服务器租用、后台管理等。

不一样的网站需要的网页风格、网站内容、好有相关论坛的板块建设都不一样,这些服务都可以通过网购平台进行购买。当然不一样的网站收取的费用也是不一样的,因为会涉及到内容。例如:视频网站所需要的服务器占用空间会大一点、购物网站所需要的安全级别会高一点。

在建站初期,用户量还不是很大的情况下,可以自己进行管理,管理会有专门的后台,后台的操作也已经相当的人性化,既然你能想到做网站,这些后台也能很好的去操作。等到网站用户多了,体量大了就需要专门的人员进行管理,就是我们熟称的网络管理员。

做网站关键还是要有耐心,不要因为短期用户量不大就失去信心,尽可能多的在网页中加入人们感兴趣的话题可以很好的吸引客户,频繁的更新网站中的内容可以很好的留住客户,久而久之,用户就多了。

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » nginx+uwsgi 和nginx+gunicorn区别、如何部署

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情