LinuxCentos系统安装Nginx过程记录
网站服务
想必我们大多数人都是通过访问网站而开始接触互联网的吧.我们平时访问的网站服务就是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 环境,则需要安装:
yum install gcc-c++
2.PCRE pcre-devel安装
PCRE(Perl Compatible Regular Expressions)是一个Perl库,包括perl兼容的正则表达式库.nginx的http模块使用pcre来解析正则表达式,所以需要在linux上安装pcre库,pcre-devel是使用pcre开发的一个二次开发库,nginx也需要此库.
yum install -y pcre pcre-devel
3.zlib安装
zlib库提供了很多种压缩和解压缩的方式,nginx使用zlib对http包的内容进行gzip,所以需要在Centos上安装zlib库.
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.下载源码包
wget -c https://nginx.org/download/nginx-1.12.0.tar.gz
6.解压缩源码
tar -zxvf nginx-1.12.0.tar.gz
7.切换源码目录
[root@localhost opt]# cd nginx-1.12.0
8.配置,编译安装
./configure --prefix=/opt/nginx12/
make && make install
9.进入nginx的工作目录
[root@localhost opt]# cd nginx12
10.启动nginx,进入sbin目录,找到nginx启动命令.
./nginx #启动
./nginx -s stop #关闭
./nginx -s reload #重新加载
11.安装完成后检测服务
[root@localhost sbin]# netstat -tunlp |grep 80
-bash: netstat: command not found
出现以上问题的解决方案:yum install net-tools
[root@localhost sbin]# netstat -tunlp |grep 80
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 4011/nginx: master
12.nginx默认站点是Nginx目录下的html文件夹,这里可以从nginx.conf中查到
location / {
# 这里是默认的站点html文件夹,也就是 /opt/nginx12/html/文件夹下的内容
root html;
# 站点首页文件名是index.html
index index.html index.htm;
}
13.如果要部署网站业务数据,只需要把开发好的程序全放到html目录下即可
14.通过ip访问,即可访问.
LinuxCentos系统安装Nginx过程记录的更多相关文章
- LinuxCentos系统安装Mariadb过程记录
MariaDB数据库简介 MariaDB数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可. 开发这个分支的原因之一是:甲骨文公司收购了MySQL后,有将MySQL闭源的潜 ...
- centos源码编译安装nginx过程记录
前言:Centos系统编译安装LNMP环境是每来一台新服务器或换电脑都需要做的事情.这里仅做一个记录.给初学者一个参考! 一.安装前的环境 这里用的是centos 7系统. 我们默认把下载的软件放在 ...
- CentOS 5.5 下安装Countly Web Server过程记录
CentOS 5.5 下安装Countly Web Server过程记录 1. 系统更新与中文语言包安装 2. 基本环境配置: 2.1. NodeJS安装 依赖项安装 yum -y install g ...
- nginx 日志记录 自定义详解(分析上报用)
nginx 日志记录 自定义详解 1.log_format 普通格式 log_format main '$remote_addr - $remote_user [$time_local] $req ...
- 升级Windows 10 正式版过程记录与经验
升级Windows 10 正式版过程记录与经验 [多图预警]共50张,约4.6MB 系统概要: 预装Windows 8.1中文版 64位 C盘Users 文件夹已经挪动到D盘,并在原处建立了符号链接. ...
- 双系统Ubuntu分区扩容过程记录
本人电脑上安装了Win10 + Ubuntu 12.04双系统.前段时间因为在Ubuntu上做项目要安装一个比较大的软件,导致Ubuntu根分区的空间不够了.于是,从硬盘又分出来一部分空间,分给Ubu ...
- linux-i386(ubuntu)下编译安装gsoap_2.8.17过程记录
过程记录 : 1.下载gsoap_2.8.17.zip 并 解压 : $unzip gsoap_2.8.17.zip 2.进入解压后的目录gsoap-2.8 3.自动配置编译环境: $ ...
- Nginx正确记录post日志的方法
Nginx正确记录post日志的方法 事实上可以很简单,这取决于把 access_log 放在哪个 location 里面. 一,放到包含fastcgi_pass或proxy_pass的Locatio ...
- 【转】android 最新 NDK r8 在window下开发环境搭建 安装配置与使用 详细图文讲解,完整实际配置过程记录(原创)
原文网址:http://www.cnblogs.com/zdz8207/archive/2012/11/27/android-ndk-install.html android 最新 NDK r8 在w ...
随机推荐
- 自定义ios NSLog
#ifdef DEBUG #define MyLog(FORMAT, ...) fprintf(stderr,"Time:%s\t File:%s\t Methods:%s\t Line:% ...
- Android apktool反编译资源文件为空解决办法(测试天猫、淘宝等apk成功)
1 Exception in thread main brut.androlib.androlibexception multiple resources 解决办法:下载最新的apktool,在goo ...
- [UIDevice currentDevice].model
iPhone Simulator iPad Simulator iPod touch iPad iPhone
- gm picture
console.log("ok") /*var images = require("images");var fs = require("fs&quo ...
- Mac OS X 控制键符号
- 深度解析丨秒懂nova3手机上超酷炫的AR应用及开发
此前在HUAWEI nova3发布会中,相信大家都已经感受到了AR能力带来的惊喜: 现实场景召唤圣斗士,随时随地交流合影: 点击观看视频:https://v.qq.com/x/page/m1344f6 ...
- abp的开发20180425
指定默认语言. mvc5 在Global中的 protected override void Application_BeginRequest(object sender, EventArgs e) ...
- 百度UEditor 用require 引入 Thinkphp5 ,图片上传问题
用require引入,用了10分钟:上传图片,用了一个早上(吐血一地.....) 重点:require引入成功后,在需要引用UEditor的文件开头加入(ue的文件夹路径) window.UEDITO ...
- Spring MVC属性方法名称解析器
以下示例显示如何使用Spring Web MVC框架来实现多动作控制器的属性方法名称解析器. MultiActionController类可在单个控制器中分别映射多个URL到对应的方法. 所下所示配置 ...
- Asp.Net 无刷新文件上传并显示进度条的实现方法及思路
相信通过Asp.Net的服务器控件上传文件在简单不过了,通过AjaxToolkit控件实现上传进度也不是什么难事,为什么还要自己辛辛苦苦来 实现呢?我并不否认”拿来主义“,只是我个人更喜欢凡是求个所以 ...