网站服务

想必我们大多数人都是通过访问网站而开始接触互联网的吧.我们平时访问的网站服务就是Web网络服务,一般是指允许用户通过浏览器访问到互联网中各种资源的服务.

Web网络服务是一种被动访问的服务程序,即只有接收到互联网中其他主机发出的请求后才会响应,最终用于提供服务程序的Web服务器会通过HTTP(超文本传输协议)或 HTTPS(安全超文本传输协议)把请求的内容传送给用户.

目前能够提供Web网络服务的程序有IIS、Nginx和Apache等.其中,IIS(Internet Information Services,互联网信息服务)是Windows系统中默认的Web服务程序.

2004年10月4日,为俄罗斯知名门户站点而开发的Web服务程序Nginx横空出世.Nginx程序作为一款轻量级的网站服务软件,因其稳定性和丰富的功能而快速占领服务器市场,但Nginx最被认可的还当是系统资源消耗低且并发能力强,因此得到了国内诸如新浪、网易、腾讯等门户站的青睐.

Web服务器和Web框架的关系

Web服务器(nginx):接收HTTP请求并返回数据.

Web框架(django,flask):开发web应用程序,处理接收到的数据.

NGINX

nginx是一个开源的,支持高性能,高并发的www服务和代理服务软件,安装更为简单,方便,灵活.它是一个俄罗斯人lgor sysoev开发的,作者将源代码开源出来供全球使用.

nginx支持高并发,资源消耗少,在3万并发连接下开启10个nginx线程消耗的内存不到200M

nginx支持支持异步网络i/o事件模型epoll

nginx不但是一个优秀的web服务软件,还可以作为反向代理,负载均衡,以及缓存服务使用.

Tengine

Tengine是由淘宝网发起的Web服务器项目.它在Nginx的基础上,针对大访问量网站的需求,添加了很多高级功能和特性.Tengine的性能和稳定性已经在大型的网站如淘宝网,天猫商城等得到了很好的检验.它的最终目标是打造一个高效、稳定、安全、易用的Web平台.

开始安装

1.gcc安装

安装 nginx 需要先将官网下载的源码进行编译,编译依赖 gcc 环境,如果没有 gcc 环境,则需要安装:

  1. yum install gcc-c++

2.PCRE pcre-devel安装

PCRE(Perl Compatible Regular Expressions)是一个Perl库,包括perl兼容的正则表达式库.nginx的http模块使用pcre来解析正则表达式,所以需要在linux上安装pcre库,pcre-devel是使用pcre开发的一个二次开发库,nginx也需要此库.

  1. yum install -y pcre pcre-devel

3.zlib安装

zlib库提供了很多种压缩和解压缩的方式,nginx使用zlib对http包的内容进行gzip,所以需要在Centos上安装zlib库.

  1. yum install -y zlib zlib-devel

4.OpenSSL安装

OpenSSL是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及 SSL 协议,并提供丰富的应用程序供测试或其它目的使用.

nginx不仅支持http协议,还支持https(即在ssl协议上传输http),所以需要在Centos安装OpenSSL库.

yum install gcc patch libffi-devel python-devel zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel openssl openssl-devel -y

5.下载源码包

  1. wget -c https://nginx.org/download/nginx-1.12.0.tar.gz

6.解压缩源码

  1. tar -zxvf nginx-1.12.0.tar.gz



7.切换源码目录

  1. [root@localhost opt]# cd nginx-1.12.0

8.配置,编译安装

  1. ./configure --prefix=/opt/nginx12/
  1. make && make install

9.进入nginx的工作目录

  1. [root@localhost opt]# cd nginx12

10.启动nginx,进入sbin目录,找到nginx启动命令.

  1. ./nginx #启动
  2. ./nginx -s stop #关闭
  3. ./nginx -s reload #重新加载

11.安装完成后检测服务

  1. [root@localhost sbin]# netstat -tunlp |grep 80
  2. -bash: netstat: command not found

出现以上问题的解决方案:yum install net-tools

  1. [root@localhost sbin]# netstat -tunlp |grep 80
  2. tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 4011/nginx: master

12.nginx默认站点是Nginx目录下的html文件夹,这里可以从nginx.conf中查到

  1. location / {
  2. # 这里是默认的站点html文件夹,也就是 /opt/nginx12/html/文件夹下的内容
  3. root html;
  4. # 站点首页文件名是index.html
  5. index index.html index.htm;
  6. }

13.如果要部署网站业务数据,只需要把开发好的程序全放到html目录下即可

14.通过ip访问,即可访问.

LinuxCentos系统安装Nginx过程记录的更多相关文章

  1. LinuxCentos系统安装Mariadb过程记录

    MariaDB数据库简介 MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可. 开发这个分支的原因之一是:甲骨文公司收购了MySQL后,有将MySQL闭源的潜 ...

  2. centos源码编译安装nginx过程记录

    前言:Centos系统编译安装LNMP环境是每来一台新服务器或换电脑都需要做的事情.这里仅做一个记录.给初学者一个参考! 一.安装前的环境 这里用的是centos 7系统. 我们默认把下载的软件放在 ...

  3. CentOS 5.5 下安装Countly Web Server过程记录

    CentOS 5.5 下安装Countly Web Server过程记录 1. 系统更新与中文语言包安装 2. 基本环境配置: 2.1. NodeJS安装 依赖项安装 yum -y install g ...

  4. nginx 日志记录 自定义详解(分析上报用)

    nginx 日志记录 自定义详解   1.log_format 普通格式 log_format main '$remote_addr - $remote_user [$time_local] $req ...

  5. 升级Windows 10 正式版过程记录与经验

    升级Windows 10 正式版过程记录与经验 [多图预警]共50张,约4.6MB 系统概要: 预装Windows 8.1中文版 64位 C盘Users 文件夹已经挪动到D盘,并在原处建立了符号链接. ...

  6. 双系统Ubuntu分区扩容过程记录

    本人电脑上安装了Win10 + Ubuntu 12.04双系统.前段时间因为在Ubuntu上做项目要安装一个比较大的软件,导致Ubuntu根分区的空间不够了.于是,从硬盘又分出来一部分空间,分给Ubu ...

  7. linux-i386(ubuntu)下编译安装gsoap_2.8.17过程记录

    过程记录 :  1.下载gsoap_2.8.17.zip 并 解压 : $unzip gsoap_2.8.17.zip     2.进入解压后的目录gsoap-2.8   3.自动配置编译环境:  $ ...

  8. Nginx正确记录post日志的方法

    Nginx正确记录post日志的方法 事实上可以很简单,这取决于把 access_log 放在哪个 location 里面. 一,放到包含fastcgi_pass或proxy_pass的Locatio ...

  9. 【转】android 最新 NDK r8 在window下开发环境搭建 安装配置与使用 详细图文讲解,完整实际配置过程记录(原创)

    原文网址:http://www.cnblogs.com/zdz8207/archive/2012/11/27/android-ndk-install.html android 最新 NDK r8 在w ...

随机推荐

  1. 【MyBatis学习08】高级映射之一对一查询

    从这一篇博文开始,将总结一下mybatis中的几个高级映射,即一对一.一对多.多对多查询,这篇先总结一下mybatis中的一对一查询.  为了模拟这些需求,事先要建立几个表,不同的表之间将对应上面提到 ...

  2. MYSQLMTOP!开源MYSQL监控系统

    原文地址:http://www.lepus.cc/page/opensource

  3. Webpack 的 HtmlWebpackPlugin 如何控制某个 chunks 的 inject 位置?

    https://segmentfault.com/q/1010000006591131 通过修改 HtmlWebpackPlugin 源码实现了 修改后的配置: new HtmlWebpackPlug ...

  4. html5在移动端的屏幕适应性问题

    html5在移动端的屏幕适应性问题 Html5 以前是最最炙手可热的技术.移动端也由于html5技术的增加变得更加变通一些.人人都喜欢"Write once.run more",但 ...

  5. Jenkins安装和配置系列

    转自:http://www.cnblogs.com/zz0412/tag/jenkins/default.html?page=1 Jenkins进阶系列之——18Jenkins语言本地化    Jen ...

  6. MySQL和hive对比表结构脚本

    #!/bin/bash source /etc/profile runlog='/tmp/zewei/check_schema_log' hive_database_schema=/tmp/hive_ ...

  7. script 标签里的 async 和 defer

    无 async 和 defer 浏览器立即加载并执行指定脚本(读到即加载并执行),阻塞文档解析 async 脚本的加载执行和文档的加载渲染 并行. defer 脚本的加载和文档的加载渲染并行,但脚本的 ...

  8. openWRT自学---如何开发新的用户态模块-helloworld

    以http://www.gargoyle-router.com/wiki/doku.php?id=openwrt_coding为参考文档 1.要获得openWRT的sdk环境.只要在Backfire的 ...

  9. 单点登录SSO简介

    一.什么是单点登录SSO(Single Sign-On) SSO是一种统一认证和授权机制,指访问同一服务器不同应用中的受保护资源的同一用户,只需要登录一次,即通过一个应用中的安全验证后,再访问其他应用 ...

  10. Xcode调试项目时取消弹出框提示授权

    问题2: instruments wants permission to analyze other processes.'DTServiceHub'需要控制另外一个进程,以便继续调试,键入密码以允许 ...