广告
返回顶部
首页 > 资讯 > 数据库 >nginx服务部署
  • 943
分享到

nginx服务部署

2024-04-02 19:04:59 943人浏览 独家记忆
摘要

 作者:Georgekai归档:学习笔记2018/2/2 nginx服务部署1.1 常用web软件了解1.1.1 web服务主流软件地址https://w3techs


 

作者Georgekai

归档:学习笔记

2018/2/2

 



nginx服务部署

1.1 常用web软件了解

1.1.1 web服务主流软件地址

https://w3techs.com/technologies/overview/WEB_server/all

1.1.2 常用来提供动态服务的软件 

PHP:.php结尾的文件,大中小网站都有适合,动态网页语言PHP程序的解析容器,一般配合apache或Nginx解析  动态程序

Tomcat:适用于中小企业,不适合并发量高的环境

Resin:适用于大型企业,适合并发量高的环境

IIS:.asp结尾的文件,windows下web服务软件

 

1.2 Nginx介绍

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

2.Nginx因具有高并发(特别是静态资源)、占用系统资源少等特性,且功能丰富而逐渐流行起来。

3.Nginx可以运行在UNIX、linux、BSD、Mac OS X、Solaris,以及Microsoft Windows等操作系统中。

4.当前流行的Nginx Web组合被称为LNMP或LEMP

5.L==Linux  N/E==Nginx  M==Mysql   P==php   网站的代码程序 ===搭建出一个完整的网站

1.2.1 官方网站:http://nginx.org/

1.2.2 软件版本的选择(建议) 

当前时间往前推1年到半年之间的版本相对稳定(近期的可能有bug)

1.2.3 模块使用(中文版):http://manual.51yip.com/nginx/

1.3 nginx软件特性说明

1) 支持高并发:能支持几万并发连接(特别是静态小文件业务环境)

2) 资源消耗少:在3万并发连接下,开启10个Nginx线程消耗的内存不到200MB

     PS:(测试软件工具:ab,jmeter,Webbench,LoadRunner,Http_load,tcpcopy) 

3) 可以做HTTP反向代理及加速缓存、即负载均衡功能(4层以及7层),

     内置对RS节点服务器健康检查功能,这相当于专业的Haproxy软件或LVS(4层)的功能。

     PS:LVS等软件没有健康检查功能

4)  具备Squid等专业缓存软件等的缓存功能。(memcache/Redis

5) 支持异步网络I/O事件模型epoll(Linux 2.6+)

     PS:apache使用的模型:select,性能没有nginx好

1.4 为什么Nginx总体性能比Apache高

Ngimx:使用最新的epoll(linux 2.6内核)模型,和kqueue(freebsd)异步网络I/O模型

特点比喻:找女朋友,宿管阿姨查看登记信息,快速查找人员信息,这是epoll模型

Apache:使用的是传统的select模型

特点比喻:找女朋友,宿管阿姨一个一个带你去找,去问,这是select模型

nginx服务部署 

 

1.5 nginx软件的编译安装步骤

PS:也可以参考官方文档:从源头构建nginx:http://nginx.org/en/docs/configure.html 

1.5.1先 检查软件安装的系统环境

cat /etc/redhat-release

uname –r

1.5.2 下载nginx软件---1.12.2 复制链接地址(统一位置进行下载)

mkdir -p /server/tools

cd /server/tools

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

1.5.3 安装nginx的依赖包(pcre-devel openssl-devel

yum install -y pcre-devel openssl-devel

PS:不安装pcre,不能使用rewrite模块(rewrite需要识别perl语言的正则表达式

PS:openssl:对网站远程访问进行加密

1.5.4 编译安装软件的步骤

提前条件:如果系统没有安装兼容程序库、开发工具的,请安装一下基础依赖包
 yum install GCc gcc-c++ automake autoconf -y

 

1. 解压到当前目录nginx-1.12.2.tar.gz

 tar xf nginx-1.12.2.tar.gz

2. 进入nginx-1.12.2目录

 cd nginx-1.12.2/

3. 创建www虚拟用户

 PS:让www用户专门管理nginx服务,root权限太大,不安全

 useradd -M -s /sbin/nologin www

3. 指定安装路径,配置参数(下面有参数解释)

 ./configure --prefix=/application/nginx-1.12.2 --user=www --group=www --with-http_stub_status_module --with-http_ssl_module

4. 编译(翻译

 PS:编译过程实质是将各种程序语言转换为系统可以识别的二进制信息

 make

5. 编译安装

 make install

6. 创建程序目录软连接

 PS:避免版本经常变化,到时候只需更改软连接,不需要更改代码程序

 ln -s /application/nginx-1.12.2/ /application/nginx

7. 启动网站服务

 /application/nginx/sbin/nginx

8. 检查服务是否启动成功

 ps -ef |grep nginx

9. 测试访问

 lynx 10.0.0.7

 curl 10.0.0.7

 浏览器访问方式

 

1.6 编辑安装配置参数说明

./configure

--prefix=PATH             ——指定软件程序安装的路径信息

--user=USER              ——创建一个虚拟用户,用于管理nginx服务的worker进程

--group=GROUP             ——创建一个虚拟用户组,用于管理nginx服务的worker进程

--with-http_ssl_module         ——让nginx服务可以支持https访问

--with-http_stub_status_module     ——便于监控软件监视nginx服务运行状态

以下参数可参考(默认有上面的即可): 

    --sbin-path=/usr/local/nginx/nginx

    --conf-path=/usr/local/nginx/nginx.conf

    --pid-path=/usr/local/nginx/nginx.pid

    --with-pcre=../pcre-8.41

    --with-zlib=../zlib-1.2.11

1.7 nginx命令参数

/application/nginx/sbin/nginx               ——启动nginx

/application/nginx/sbin/nginx -s reload ——平滑重启

/application/nginx/sbin/nginx -s stop  ——停止服务

/application/nginx/sbin/nginx -t           ——配置文件语法检查

/application/nginx/sbin/nginx -h          ——查看参数使用帮助信息

/application/nginx/sbin/nginx -V     ——查看软件编译安装配置参数信息

 

1.7.1 nginx 查看软件编译安装配置参数信息-V

[root@web01 application]# /application/nginx/sbin/nginx -V

nginx version: nginx/1.10.3

built by gcc 4.4.7 20120313 (Red Hat 4.4.7-18) (GCC)

built with OpenSSL 1.0.1e-fips 11 Feb 2013

TLS SNI support enabled

configure arguments: --prefix=/application/nginx-1.10.3 --user=www --group=www --with-http_stub_status_module --with-http_ssl_module

PS:一般用于查看之前配置nginx的参数

1.7.2 nginx 查看参数使用帮助信息(-h)

[root@web01 application]# /application/nginx/sbin/nginx -h

nginx version: nginx/1.10.3

Usage: nginx [-?hvVtTq] [-s signal] [-c filename] [-p prefix] [-g directives]

 

Options:

  -?,-h         : this help

  -v            : show version and exit

  -V            : show version and configure options then exit

  -t            : test configuration and exit

  -T            : test configuration, dump it and exit

  -q            : suppress non-error messages during configuration testing

  -s signal     : send signal to a master process: stop, quit, reopen, reload

  -p prefix     : set prefix path (default: /application/nginx-1.10.3/)

  -c filename   : set configuration file (default: conf/nginx.conf)

  -g directives : set global directives out of configuration file

1.8 部署nginx软件过程中可能遇到的问题 

1.软件依赖包未正确安装问题---PCRE依赖包没有安装

          ./configure: error: the HTTP rewrite module requires the PCRE library.

          You can either disable the module by using --without-http_rewrite_module

          option, or install the PCRE library into the system, or build the PCRE library

          statically from the source with nginx by using --with-pcre=<path> option.

解决方法:yum install pcre pcre-devel y

 

2.软件依赖包未正确安装问题---OPENSSL依赖包没有安装  

          ./configure: error: SSL modules require the OpenSSL library.

          You can either do not enable the modules, or install the OpenSSL library

          into the system, or build the OpenSSL library statically from the source

          with nginx by using --with-openssl=<path> option.

解决方法:yum install openssl openssl-devel -y

1.9 nginx软件启动过程中可能遇到的问题

 1. 启动Nginx时如下报错“nginx:[emerg]getpwnam(“nginx”)failed”

   解答:这是因为没有对应的Nginx服务用户,执行useradd nginx -s /sbin/nologin -M创建

1.10 nginx软件程序目录结构

ls -l /application/nginx/

drwxr-xr-x 2 root root 4096 Sep  8 21:22 conf    ---配置文件保存目录

drwxr-xr-x 2 root root 4096 Sep  8 21:22 html    ---站点目录

drwxr-xr-x 2 root root 4096 Sep  8 21:52 logs    ---nginx服务相关日志文件保存目录(错误日志 访问日志)

drwxr-xr-x 2 root root 4096 Sep  8 21:22 sbin    ---服务命令保存目录(只有一个nginx命令文件)

 

1.10.1 nginx配置文件目录conf下的主要文件说明:

mime.types         ——媒体资源类型文件

nginx.conf         ——nginx服务主配置文件

nginx.conf.default       ——nginx服务主配置文件的默认配置(模板)

PS: vimdiff  nginx.conf   nginx.conf.default  ——可以比较俩个文件之间的区别(实用性广泛)

1.11 测试环境模拟搭建网站

1.11.1 精简化nginx.conf主配置文件内容

grep -Ev "#|^$" nginx.conf.default > nginx.conf

PS:过滤掉包含#号的行,和空行

1.11.2 编辑主配置文件前先备份

cp nginx.conf {,.bak}

1.11.3 编辑主配置文件

vim /application/nginx/conf/nginx.conf

worker_processes  1;                                                    ——worker主进程数(相当于服务员)进程数越多效率越高

events {                                                                       ——事件区块开始

    worker_connections  1024;                                 ——每个主进程的最大连接数(想当于客户)

}                                                                                 ——事件区块结束

http {                                                                          ——http区块开始

    include       mime.types;                         ——支持的媒体类型文件

    default_type  application/octet-stream;            ——默认支持的媒体类型文件

    sendfile        on;                                 ——高效传输模式(基于磁盘block传输方式,要快许多)

    keepalive_timeout  65;                                     ——连接超时(65s内没有数据传输即断开)

    server {                                                           ——第一个server区块(就是一个网站(虚拟主机),可以有多个)

        listen       80;                           ——监听端口

        server_name  www.georgekai.com;            ——提供服务的域名

        location / {                                          ——第一个location(管理部分网站资源文件)

            root   html/www;                      ——站点根目录(存放首页文件、图片...)

            index  georgekai.html index.htm; ——网站默认首页文件(空格分割多个文件)

        }                                                           ——第一个server区块结束

 

        error_page   500 502 503 504 404 /kai.jpg; ——对应的http状态码,使用kai.jpg回应客户

        location = /kai.jpg {                                     ——第二个server区块...(第二个网站(虚拟主机))

            root   html;                                     .......同上........

        }

    }

}

1.11.4 创建站点目录,生成首页文件

1. 创建站点目录

mkdir /application/nginx/html/www

2. 生成首页文件(html语言)

vim georgekai.html

<html>

<meta charset="utf-8">

<head>

  <title>网站标题</title>

</head>

<body>

       网站主体内容

<table border=1>

<tr> <td>01</td> <td>oldboy</td> </tr>

<tr> <td>02</td> <td>oldgril</td> </tr>

<tr> <td>03</td> <td>olddog</td> </tr>

</table>

<a href="http://blog.oldboyedu.com">

<img src="oldboy.jpg" />

</a>

</body>

PS:以上内容是html语言格式,也可随便写点内容做测试

1.11.5 检查配置文件语法并重启nginx服务

/application/nginx/sbin/nginx   -t

/application/nginx/sbin/nginx    -s reload

1.11.6 浏览器进行测试访问

10.0.0.7

www.georgekai.com

PS:通过域名访问,需要将以上解析关系添加到本机hosts文件

1.12 nginx主配置文件区域分类及说明

1. main区块

2. event区块

3. http区块

    server区块(可以有多个),每个server相当于一个网站

        location区块(可以有多个),每个location相当于server的一个模块

 nginx服务部署 

 

1.13 什么叫站点目录,什么首页文件

nginx服务部署 



马上过年了,年假期间不会中断更新!!!!小伙伴们可以考虑用ansible部署管理Nginx

关注微信公共号:linux运维菜鸟之旅


小伙伴们可以关注我的微信公众号:linux运维菜鸟之旅

nginx服务部署

关注“中国电信天津网厅”公众号,首次绑定可免费领2G流量,为你的学习提供流量! 

nginx服务部署

您可能感兴趣的文档:

--结束END--

本文标题: nginx服务部署

本文链接: https://www.lsjlt.com/news/43063.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • nginx服务部署
     作者:Georgekai归档:学习笔记2018/2/2 nginx服务部署1.1 常用web软件了解1.1.1 web服务主流软件地址https://w3techs...
    99+
    2022-10-18
  • 如何部署Nginx服务
    本篇内容主要讲解“如何部署Nginx服务”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何部署Nginx服务”吧!1. Nginx介绍:1.1 Nginx是什么?Nginx(“engine x”...
    99+
    2023-06-29
  • Django+Nginx+uwsgi服务器部署
    一、安装 uwsgi uWSGI是一个Web服务器,它实现了WSGI协议、uwsgi、http等协议,旨在提供专业的 Python web应用发布和开发。Nginx中HttpUwsg...
    99+
    2022-11-13
  • Linux 部署 Nginx
    文章目录 一、Nginx 下载二、部署步骤三、演示修改 Nginx 配置,修改端口号四、使用 Nginx 转发访问后端服务五、Nginx 常用命令 一、Nginx 下载 从官网中下载 n...
    99+
    2023-09-21
    nginx linux java 服务器
  • Docker中部署nginx服务的方案
    目录1、下载nginx镜像2、查看下载的镜像3、启动nginx镜像4、查看启动的nginx5、访问启动的nginx5.1、linux开放防火墙端口5.2、阿里云服务器需要配置安全组规...
    99+
    2022-11-16
    Docker部署nginx Docker安装nginx docker安装nginx配置
  • RHEL8中怎么部署Nginx Web服务
    今天小编给大家分享一下RHEL8中怎么部署Nginx Web服务的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。环境Red H...
    99+
    2023-06-27
  • 服务器使用Nginx部署Vue项目
    目录一、安装Nginx二、部署vue首先得购买个服务器,在这就不教怎么购买了,本文章使用的是阿里云轻量级服务器CentOS7.6 一、安装Nginx 1. 使用XShell连接我们的...
    99+
    2022-11-13
  • Nginx 服务器 SSL 证书安装部署
    操作场景 本文档指导您如何在 Nginx 服务器中安装 SSL 证书。 说明 本文档以证书名称 xxx为例。 Nginx 版本以 nginx/1.18.0 为例。 当前服务器的操作系统为 CentOS 7,由于操作系统的版本不同,详细操...
    99+
    2023-09-05
    github git 原力计划
  • django+uwsgi+nginx部署
    django+uwsgi+nginx部署   1.介绍:   在网上看了很多教程,但自己部署了很久都没有成功,这篇博文记录自己所踩过得坑。   2.环境: 1 Ubuntu 16.04.1 LTS (GNU/Linux 4.4.0-13...
    99+
    2023-01-30
    django uwsgi nginx
  • Nginx服务器SSL证书安装部署(Windows)
    在Windows上部署和安装Nginx服务器SSL证书需要执行以下步骤:1. 下载和安装Nginx服务器:- 访问Nginx官方网站...
    99+
    2023-09-21
    服务器
  • 聊聊Django+uwsgi+nginx服务器部署问题
    目录准备工作安装anaconda:安装需要的组件创建django程序(本地)使用文件传输工具将django程序传输到服务器部署工作配置uwsgi配置nginx配置ssl证书以提供ht...
    99+
    2022-11-13
  • Nginx服务LNMP之WordPress部署流程步骤
    目录实验环境安装Nginx服务安装Mysql数据库安装PHP修改Nginx配置文件部署WordPress个人博客实验环境 实验环境: [root@lnmp ~]# uname -r ...
    99+
    2022-11-13
  • 利用uWSGI和nginx进行服务器部署
    1)在本机进入虚拟环境,执行命令导出当前需要的所有包。 pip freeze > plist.txt 2)通过ftp软件将项目代码和plist.txt文件上传到服务器。 3)创建虚拟环境,在虚拟环境上安装包。 mkvi...
    99+
    2023-01-30
    服务器 uWSGI nginx
  • 在nginx中部署https服务,详细步骤
    目录 前言 一、https是什么? 二、部署步骤 1.下载SSL证书 2.上传文件 3.解压文件 4.在nginx.conf配置文件中,修改https服务 5.修改hosts文件 6.http跳转到https中 三、注意事项 前言 Web...
    99+
    2023-08-31
    nginx 运维 服务器 https
  • 项目上线部署--》服务器部署流程(二)安装Nginx、Node.js、MySQL
    阅读本篇文章前请先阅读项目上线部署--》服务器部署流程(一)  目录 🌟安装Nginx 先登录远程服务器,安装依赖包 下载并解压包  🌟安装Node.js  安装nodejs进程管理工具  🌟...
    99+
    2023-09-30
    javascript node.js 服务器 nginx
  • docker-compose部署nginx+php
    1、首先拉取nginx及php镜像 docker pull nginx:1.21.6 docker pull php:7.4.28-fpm 2、创建本地目录 mkdir /home/nginx-php...
    99+
    2023-09-09
    php nginx docker
  • Linux部署Nginx详解
    目录 前言 一、什么是Nginx?  二、什么是代理服务器? 三、什么是正向代理?  正向代理的用途: 四、什么是反向代理?  反向代理的作用: 五、什么是负载均衡? 但并发量大的时候如何解决? Nginx给出来三种关于负载均衡的方式: 六...
    99+
    2023-10-26
    linux nginx 服务器
  • uwsgi+nginx项目部署
    部署Django项目 Django+uWSGI+nginx 部署 django 一个pyhton的开源web框架。 uWSGI 一个基于自有的uwsgi协议、WSGI协议和http服务协议的web网关 nginx 常用的代理服务器 ...
    99+
    2023-01-31
    项目 uwsgi nginx
  • nginx+uwsgi部署django项
    1、django项目部署前需要生成admin的静态资源文件 (1)生成admin的静态资源文件   # 关闭debug模型 DEBUG = False # 允许所有域名访问 ALLOWED_HOSTS = ['*'] # 静态资源路径 ...
    99+
    2023-01-31
    nginx uwsgi django
  • minio集群部署,4台服务器+1台nginx
    4台主机+1台nginx负载均衡 分布式Minio里所有的节点需要有同样的access秘钥和secret秘钥,即:用户名和密码 分布式Minio存放数据的磁盘目录必须是空目录 分布式Minio官方...
    99+
    2023-09-01
    运维 minio
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作