小白也可以完成的0基础部署Nginx服务

目录
  • 1. Nginx介绍:
    • 1.1 Nginx是什么?
    • 1.2 Nginx主要特性
    • 1.3 Nginx软件的主要功能应用
  • 2. Nginx Web服务
    • 2.1 Nginx作为Web服务器应用场景
    • 2.2 如何选择Web服务器
  • 3 编译安装Nginx
    • 3.1 安装pcre库
    • 3.2 安装Nginx
  • 4. Nginx目录结构与配置文件
    • 4.1 Nginx目录结构说明
    • 4.2 Nginx主配置文件

1. Nginx介绍:

1.1 Nginx是什么?

Nginx(“engine x”)是一个开源的,支持高性能、高并发的www服务和代理服务软件。

由俄罗斯人Igor Sysoev开发,最初应用于俄罗斯大型网站www.rambler.ru上。

Nginx具有高并发、占用系统资源少等特性。

Nginx可以运行在UNIX、Linux、DSB、Mac OS X、Solaris及Windows等操作系统上。

1.2 Nginx主要特性

支持高并发:能支持几万并发连接

资源消耗少:三万并发连接下,开始10个线程消耗内存不到200MB。

可以做HTTP反向代理及加速缓存,即负载均衡功能,内置对RS节点服务器健康检查功能

具备Squid等专业缓存软件的缓存功能

支持异步网络I/O事件模型

1.3 Nginx软件的主要功能应用

作为Web服务软件

反向代理及负载均衡服务

前端业务数据缓存服务

2. Nginx Web服务

2.1 Nginx作为Web服务器应用场景

使用Nginx运行HTML、JS、CSS、小图片等静态数据

Nginx结合FastCGI运行PHP等动态程序

Nginx结合Tomcat/Resin等支持Java动态程序

2.2 如何选择Web服务器

工作中,根据需求来选择合适的业务服务软件:

  • 静态业务:高并发场景,首选采用Nginx
  • 动态业务:Nginx与Apache都可,建议Nginx
  • 静态+动态业务:推荐Nginx

3 编译安装Nginx

安装方法多种,本文使用编译安装方式。如果需要大规模部署,可将业务需求定制好rpm包,然后通过Ansible安装。

3.1 安装pcre库

查看当前系统版本:

cat /etc/redhat-release
uname -r

结果:

CentOS release 6.10 (Final)
2.6.32-754.el6.x86_64

采用yum方式安装pcre:

yum -y install pcre pcre-devel
rpm -qa pcre pcre-devel

结果:

pcre-devel-7.8-7.el6.x86_64
pcre-7.8-7.el6.x86_64

3.2 安装Nginx

检查是否装有openssl、openssl-devel:

rpm -qa openssl openssl-devel

结果:如果没有,使用yum安装

openssl-1.0.1e-57.el6.x86_64
openssl-devel-1.0.1e-57.el6.x86_64

创建nginx包存放目录:

mkdir -p /app/nginx-1.8.1
mkdir -p /server/tools
cd /server/tools/

下载nginx软件包:

官方地址:www.nginx.rog

wget -q http://nginx.org/download/nginx-1.8.1.tar.gz

创建nginx用户:

useradd nginx -s /sbin/nologin -M

解压软件包并进入解压后的目录:

tar xf nginx-1.8.1.tar.gz
cd nginx-1.8.1

进行编译:
编译模块可以通过./configure --help查看

./configure --user=nginx --group=nginx --prefix=/app/nginx-1.8.1/ --with-http_stub_status_module --with-http_ssl_module

安装:

make
make install

创建软链接:方便使用以及版本升级

ln -s /app/nginx-1.8.1/ /app/nginx

启动前测试:

/app/nginx/sbin/nginx -t

结果:

nginx: the configuration file /app/nginx-1.8.1//conf/nginx.conf syntax is oknginx: configuration file /app/nginx-1.8.1//conf/nginx.conf test is successful

启动Nginx服务并检查端口:

/app/nginx/sbin/nginx
netstat -utpln | grep 80

结果:

tcp        0      0 0.0.0.0:80                  0.0.0.0:*                   LISTEN      13689/nginx

检查Nginx启动结果:以下内容代表启动成功

curl 192.168.1.31

结果:

<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
    body {
        width: 35em;
        margin: 0 auto;
        font-family: Tahoma, Verdana, Arial, sans-serif;
    }
</style>
</head>
<body>
<h1>Welcome to nginx!</h1>
<p>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.</p>

<p>For online documentation and support please refer to
<a href="http://nginx.org/" rel="external nofollow" >nginx.org</a>.<br/>
Commercial support is available at
<a href="http://nginx.com/" rel="external nofollow" >nginx.com</a>.</p>

<p><em>Thank you for using nginx.</em></p>
</body>
</html>

4. Nginx目录结构与配置文件

4.1 Nginx目录结构说明

tree /app/nginx
/app/nginx
├── client_body_temp
├── conf							#nginx配置文件目录
│   ├── fastcgi.conf				#fastcgi相关参数配置文件
│   ├── fastcgi.conf.default
│   ├── fastcgi_params				#fastcgi参数文件
│   ├── fastcgi_params.default
│   ├── koi-utf
│   ├── koi-win
│   ├── mime.types					#媒体类型
│   ├── mime.types.default
│   ├── nginx.conf					#Nginx主配置文件
│   ├── nginx.conf.default
│   ├── scgi_params					#scgi配置文件
│   ├── scgi_params.default
│   ├── uwsgi_params				#uwsgi配置文件
│   ├── uwsgi_params.default
│   └── win-utf
├── fastcgi_temp					#fastcgi临时数据文件
├── html							#默认站点目录
│   ├── 50x.html					#错误页面显示文件
│   └── index.html					#默认的站点首页文件
├── logs							#默认日志路径
│   ├── access.log					#默认访问日志文件
│   ├── error.log					#默认错误日志文件
│   └── nginx.pid					#Nginx的pid文件
├── proxy_temp						#临时目录
├── sbin							#Nginx命令目录
│   ├── nginx						#启动命令
│   └── nginx.old
├── scgi_temp						#临时目录
└── uwsgi_temp						#临时目录

9 directories, 22 files

4.2 Nginx主配置文件

去注释显示配置文件:

egrep -v "#|^$" /app/nginx/conf/nginx.conf.default

结果:

worker_processes  1;                            #worker进程数量
events {                                        #事件区块开始
    worker_connections  1024;                    #单worker进程支持的最大连接
}                                                #事件区块结束
http {                                            #HTTP区块开始
    include       mime.types;                    #支持的媒体类型库
    default_type  application/octet-stream;        #默认媒体类型
    sendfile        on;                            #开启高效传输模式
    keepalive_timeout  65;                        #连接超时
    server {                                    #server区块开始
        listen       80;                        #服务端口,默认80
        server_name  localhost;                    #域名主机名
        location / {                            #location区块开始
            root   html;                        #站点根目录
            index  index.html index.htm;        #默认首页文件
        }                                        #location区块结束
        error_page   500 502 503 504  /50x.html;#对应状态码及回应
        location = /50x.html {                    #location开始回应50x.html
            root   html;                        #站点目录为html
        }
    }
}                                                #HTTP区块结束

注:server区块和location区块可以是多个。

以上就是小白也可以完成的0基础部署Nginx服务的详细内容,更多关于Nginx服务部署的资料请关注我们其它相关文章!

(0)

相关推荐

  • 服务器使用Nginx部署Springboot项目的详细教程(jar包)

    1,将java项目打成jar包 这里我用到的是maven工具 这里有两个项目,打包完成后一个为demo.jar,另一个为jst.jar 2.准备工具 1.服务器 2.域名(注:经过备案) 3.Xshell用于连接服务器 4.WinScp(注:视图工具,用于传输jar) 3.将jar包传入服务器 直接拖动即可 3.使用Xshell运行jar包 注:(服务器的java环境以及maven环境,各位请自行配置,这里不做描述.) cd到jar包路径下执行:nohup java -jar demo.jar

  • 部署前后端分离式nginx配置的完整步骤

    前言 老生常谈了,这里谈谈我的理解的前后端分离,简单的分离无非是将原来mvc的view层剥离出来,独立一个成为Servlet服务,Servlet之间依靠http连通.这里的view Servlet容器可以是任意一种服务端服务,Tomcat.Apache.Nginx.IIS,都可以.这里以常用的Nginx为例子做简单的介绍. 需求分析 先来一波需求分析. 单项目 单项目指的是一台服务器部署一个前端服务,使www.xxx.com => index.html的单一指向. 多项目 多项目指的是一台服务器

  • nginx 配置服务启动的教程详解

    1.    先去官网下载nginx 安装到本地 2.    下载Windows Service Wrapper (WinSW.NET4.exe (64) , WinSW.NET2.exe(86)) 根据自己系统去下载相应的 3.    (1)把WinSW.NET4.exe  放到nginx  文件名称改成自己想要的 (2)创建一个.xml的文件,需要跟WinSW.NET4.exe 这个改成自己的文件名字相同 4.    打开.xml 添加下面一段(把路径设置自己nginx路径) <service

  • Nginx中Location从零开始的配置教程

    基础知识 location的匹配顺序是"先匹配正则,在匹配普通". location的匹配顺序其实是"先匹配普通,在匹配正则".造成误解的原因是:正则匹配会覆盖普通匹配 Nginx location 配置语法 1. location [ = | ~ | ~* | ^~ ] uri { ... } 2. location @name { ... } location 配置可以有两种配置方法 1.前缀 + uri(字符串/正则表达式) 2.@ + name 前缀含义 =

  • Nginx服务器搭建和基本配置详解

    Nginx(engine X) 是一个高性能的 HTTP 服务器和反向代理服务器,这款软件开发的目的是为了解决 C10k 问题. Nginx 的架构利用了许多现代操作系统的特性,以实现一个高性能的 HTTP 服务器.例如在 Linux 系统上,Nginx 使用了 epoll,sendfile,File AIO,DIRECTIO 等机制,使得 Nginx 不仅性能高效,而且资源占用率非常低,官方宣称 nginx 维持 10000 个非活动的 HTTP keep-alive 连接仅需要 2.5M 内

  • 小白也可以完成的0基础部署Nginx服务

    目录 1. Nginx介绍: 1.1 Nginx是什么? 1.2 Nginx主要特性 1.3 Nginx软件的主要功能应用 2. Nginx Web服务 2.1 Nginx作为Web服务器应用场景 2.2 如何选择Web服务器 3 编译安装Nginx 3.1 安装pcre库 3.2 安装Nginx 4. Nginx目录结构与配置文件 4.1 Nginx目录结构说明 4.2 Nginx主配置文件 1. Nginx介绍: 1.1 Nginx是什么? Nginx(“engine x”)是一个开源的,支

  • Nginx服务LNMP之WordPress部署流程步骤

    目录 实验环境 安装Nginx服务 安装Mysql数据库 安装PHP 修改Nginx配置文件 部署WordPress个人博客 实验环境 实验环境: [root@lnmp ~]# uname -r 2.6.32-754.el6.x86_64 [root@lnmp ~]# cat /etc/redhat-release CentOS release 6.10 (Final) [root@lnmp ~]# cat /etc/hosts 192.168.1.30 lnmp 172.16.1.30 lnm

  • Docker容器简单部署nginx过程解析

    1.容器中部署nginx服务 centos:7镜像运行一个容器,并且,在这个容器内部署Nginx服务. [root@Docker ~]# docker pull centos:7 //下载镜像 [root@Docker ~]# docker run -itd --name webapp --restart=always centos:7 //运行一个容器名为:webapp [root@Docker ~]# docker cp nginx-1.16.0.tar.gz webapp:/root //

  • 0基础学习前端开发的一些建议

    以下纯属个人观点和建议,肯定是有局限性的,但是也希望能给你带来一些帮助. 我们俨然能感受到前端岗位现在已经发展成了最重要的研发岗位之一,所以多我们提出的要求也就越来越高了.所以我们需要的也就不仅仅只是掌握css.html.JavaScript了,但是这三大件一直都是前端的根本,这一点从未改变,而这三大件中JavaScript又是重中之重. 接下来我会结合我的一点经验,给出前端系统学习路线的一些具体建议以及入门前端时的一些困境. 入门前端时的一些困境 1.因一些基础算法.数据结构理论不扎实导致一些

  • PHP小白必须要知道的php基础知识(超实用)

    很多人看到PHP就以为是程序员,就以为钱很多(虽然是事实),但是也要考虑下自己是不是适合这一行,知道PHP是什么吗?PHP都有什么样的功能,都能用来干嘛? PHP是什么? •PHP(PHP: Hypertext Preprocessor,超文本预处理器的缩写),是一 种被广泛应用的开放源代码的.基于服务器端的用于产生动态网页 的.可嵌入HTML中的脚本程序语言,尤其适合 WEB 开发. •当客户端向服务器的程序提出请求时,web服务器根据请求晌应对应 的页面,当页面中含有php脚本时,服务器会交

  • mysql-8.0.17-winx64 部署方法

    1.官网下载mysql-8.0.17-winx64,选择Zip文件格式下载 2.解压到目标路径,我这里是E盘根目录,即E:\mysql8 3.根目录下创建my.ini,内容如下: [mysqld] #端口 port = 3306 #mysql安装目录 basedir = E:/mysql8 #mysql数据存放目录 datadir = E:/mysql8/data #允许最大连接数 max_connections = 1024 #服务端默认使用字符集 character-set-server =

  • windows7下mysql8.0.18部署安装教程图解

    一.前期准备(windows7+mysql-8.0.18-winx64) 1.下载地址:https://dev.mysql.com/downloads/ 2.选择直接下载不登录账号,下载的压缩包大概两百多M,解压后一个G左右 3.压缩文件,记着压缩文件的位置,下边需要添加环境变量,我的:C:\Program Files\mysql-8.0.18-winx64,将文件放在一个自己习惯的地方,并且创建一个data文件夹,和一个my.ini文件,data文件是空的,my.ini网上很多种组合方法,看个

  • CentOS8下MySQL 8.0安装部署的方法

    MySQL 8正式版8.0.11已发布,官方表示MySQL8要比MySQL 5.7快2倍,还带来了大量的改进和更快的性能!到底谁最牛呢?请看:MySQL 5.7 vs 8.0,哪个性能更牛? Mysql8.0安装 (YUM方式) 1.首先删除系统默认或之前可能安装的其他版本的mysql # for i in $(rpm -qa|grep mysql);do rpm -e $i --nodeps;done # rm -rf /var/lib/mysql && rm -rf /etc/my.c

  • nginx的zabbix 5.0安装部署的方法步骤

    目录 实验环境 安装部署 安装配置数据库(这里使用的是mariadb,感兴趣的同学可以使用编译或者别的方法安装mysql试试) zabbix服务端的配置 web端php的配置 web端的nginx的配置修改 zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案. zabbix能监视各种网络参数,保证服务器系统的安全运营:并提供灵活的通知机制以让系统管理员快速定位/解决存在的各种问题. zabbix由2部分构成,zabbix server与可选组件zabbix

  • Vue 2.0 基础详细

    目录 1.特点 2.实例 3.选项 Options 4.基本语法 5.生命周期 6.路由管理Vue-Router 6.1 路由配置 6.2 路由跳转 6.3 路由守卫 7.状态管理器Vuex 7.1 配置 8.五大核心属性 9.Http请求库Axios 1.特点 是一个MVVM框架 由MVC架构衍生,分为View(视图层).ViewModel(数据视图层).Model(数据层),MVVM 最标志性的特性就是 数据绑定,实现数据驱动视图,视图同步数据. 数据也是单向的,称之为单向数据流 数据总是从

随机推荐