Nginx网络服务的配置

这篇具有很好参考价值的文章主要介绍了Nginx网络服务的配置。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一、Nginx概述

二、Nginx相对于Apache的优点

三、配置Nginx网络服务

1.编译安装和启用Nginx服务

2.修改Nginx主配置文件


一、Nginx概述

Nginx是一款高性能、轻量级Web服务软件。稳定性高,系统资源消耗低,对HTTP并发连接的处理能力高,单台物理服务器理论上可支持 30 000~50 000 个并发请求,实际约 2~3 万。

二、Nginx相对于Apache的优点

  1. 轻量化,Nginx 比 Apache占用更少的内存及资源;

  2. 静态处理,Nginx 静态处理性能比 Apache 高;

  3. Nginx可以实现无缓存的反向代理加速,提高网站运行速度;

  4. Nginx的性能和可伸缩性不依赖于硬件,Apache依赖于硬件;

  5. Nginx支持热部署,启动速度迅速,可以在不间断服务的情况下,对软件版本或者配置进行升级;

  6. nginx是异步进程,多个连接可以对应一个进程;apache是同步多进程,一个连接对应一个进程;

  7. Nginx高度模块化,编写模块相对简单,且组件比Apache少;

  8. 高并发下Nginx 能保持低资源低消耗高性能;

  9. Nginx 配置简洁,Apache配置复杂;

三、配置Nginx网络服务

需要准备Nginx源码包nginx-1.12.0.tar.gz

1.编译安装和启用Nginx服务

(1)关闭防火墙和selinux

systemctl stop firewalld
systemctl disable firewalld
setenforce 0

(2)安装依赖包

nginx的配置及运行需要pcre、zlib、openssl等软件包的支持,因此需要安装这些软件的开发包,以便提供相应的库和头文件。

yum -y install pcre-devel zlib-devel openssl-devel gcc gcc-c++ make

(3)创建运行用户、组(Nginx 服务程序默认以 nobody 身份运行,建议为其创建专门的用户账号,以便更准确地控制其访问权限)

useradd -M -s /sbin/nologin nginx

(4)编译安装Nginx源码包

#在opt目录下解压源码包
cd /opt
tar zxf /tmp/VMwareDnD/npLsWu/nginx-1.12.0.tar.gz
​
#到源码包中自定义编译安装
cd nginx-1.12.0/
./configure \
--prefix=/usr/local/nginx \                 #指定nginx的安装路径
--user=nginx \                              #指定用户名
--group=nginx \                             #指定组名
--with-http_stub_status_module              #启用 http_stub_status_module 模块以支持状态统计
​
#编译安装
make && make install
​
#让系统识别nginx的操作命令
ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/

(5)nginx服务的检查、启动、重启、停止、生成日志和升级

nginx -V //查看版本和编译安装选项(-v 只查看版本号)

Nginx网络服务的配置

nginx -t //检查nginx配置文件的语法

Nginx网络服务的配置

nginx //开启nginx服务

Nginx网络服务的配置

cat nginx.pid //查看nginx进程pid号

Nginx网络服务的配置

kill -3 pid号 //关闭nginx服务 kill -s QUIT pid号

Nginx网络服务的配置编辑

kill -1 pid号 //重载nginx服务 kill -s HUP pid号

Nginx网络服务的配置

kill -USR1 pid号 //重新生成日志文件(用于分割日志到系统日志文件目录下)

Nginx网络服务的配置

kill -USR2 pid号 //平滑升级nginx版本(需要提前编译好新版的安装包,然后能在服务不关闭的情况下升级)

Nginx网络服务的配置

编译后查看

Nginx网络服务的配置

Nginx网络服务的配置

只需要替换原版安装的nginx文件即可完成升级(可先做备份)

Nginx网络服务的配置

Nginx网络服务的配置

注意点(不影响升级):

make upgrade过程中报的错是由于nginx不是通过/usr/local/nginx/sbin/nginx启动的,而是通过$PATH中的软连接启动的。

解决办法:

要保证当前 nginx 进程是通过 /usr/local/nginx/sbin/nginx 启动的;或者先 killall nginx ,再使用 /usr/local/nginx/sbin/nginx 。

(6)添加 nginx 系统服务(通过systemctl管理)

chkconfig:2345 20 90 代表服务在2345启动级别中,第20个进程自启,第90个进程关闭。

chkconfig:- 代表不开机自启 

#编写服务配置文件
vim /etc/init.d/nginx
#!/bin/bash
#chkconfig: 2345 20 99
#description:Nginx Service Control Script
COM="/usr/local/nginx/sbin/nginx"
PID="/usr/local/nginx/logs/nginx.pid"
case "$1" in
start)
  $COM
;;
​
stop)
  kill -s QUIT $(cat $PID)
;;
​
restart)
  $0 stop
  $0 start
;;
​
reload)
  kill -s HUP $(cat $PID)
;;
​
*)
echo "Usage: $0 {start|stop|restart|reload}"
exit 1
​
esac
exit 0
​
#添加到系统服务
chmod +x /etc/init.d/nginx
chkconfig --add nginx
systemctl stop nginx
systemctl start nginx

 

Nginx网络服务的配置

2.修改Nginx主配置文件

nginx 主配置文件 /usr/local/nginx/conf/nginx.conf

Nginx网络服务的配置

所有配置字段块的作用

全局块 全局配置,对全局生效
events块 配置影响 Nginx 服务器与用户的网络连接
http块 配置代理,缓存,日志定义等绝大多数功能和第三方模块的配置
server块 配置虚拟主机的相关参数,一个 http 块中可以有多个 server 块
location块 用于配置匹配的 uri
upstream块 配置后端服务器具体地址,负载均衡配置不可或缺的部分

(1)修改全局配置

Nginx网络服务的配置

Nginx的两种进程:

  • 主进程(master process),用于管理工作进程。

  • 工作进程(work process),用于处理用户的连接(一般设置数与cpu总线程数一致)。

Nginx网络服务的配置

修改为与本机cpu数一致

Nginx网络服务的配置

将work进程与特定物理cpu核心绑定(避免切换核心,提高性能)

Nginx网络服务的配置

双核设为 worker_cpu_affinity 01 10;

(2)添加 I/O事件配置

Nginx网络服务的配置

默认只有一行配置,添加use epoll; 表示使用epoll I/O模型,可以提高性能

(2.6及以上版本的系统内核,建议使用epoll模型)

Nginx网络服务的配置

在Linux平台上,在进行高并发TCP连接处理时,最高的并发数量都要受到系统对用户单一进程同时可打开文件数量的限制(这是因为系统为每个TCP连接都要创建一个socket句柄,每个socket句柄同时也是一个文件句柄)。 ​ epoll是Linux内核为处理大批句柄而作改进的poll,是Linux下多路复用IO接口select/poll的增强版本,它能显著的减少程序在大量并发连接中只有少量活跃的情况下的系统CPU利用率。

由于一个nginx服务器最大可以支持2~3万连接数,我们需要根据本机工作进程数修改每个进程支持的连接数(如我本机设置为8,约可修改为3500)

如提高每个进程的连接数还需执行“ulimit -n 65535”命令临时修改本地每个进程可以同时打开的最大文件数(永久修改需要修改/etc/security/limits.conf 文件)

可使用ulimit -a命令查看系统允许当前用户进程打开的文件数限制。

Nginx网络服务的配置

临时修改

Nginx网络服务的配置

永久修改

修改/etc/security/limits.conf文件,添加如下字段

注意

  • 软限制soft 和硬限制hard 必须都添加才能生效

  • 软限制值 <= 硬限制值

  • 重启系统后生效!!!

Nginx网络服务的配置

重启后查看

Nginx网络服务的配置

(3)HTTP配置

Nginx网络服务的配置

日志格式设定

$remote_addr $http_x_forwarded_for 记录客户端的ip地址 通常web服务器放在反向代理的后面,这样就不能获取到客户的IP地址了,通过$remote_add拿到的IP地址是反向代理服务器的iP地址。 反向代理服务器在转发请求的http头信息中,可以增加x_forwarded_for信息,用以记录原有客户端的IP地址和原来客户端的请求的服务器地址。
$remote_user 用来记录客户端用户名称
$time_local 用来记录访问时间与时区
$request 用来记录请求的url与http协议
$status 用来记录请求状态;成功是200
$body_bytes_sent 记录发送给客户端文件主体内容大小
$http_referer 用来记录从哪个页面链接访问过来的
$http_user_agent 记录客户浏览器的相关信息

其中的server字段代表站点web服务配置(有几个站点就有几个server字段)

Nginx网络服务的配置

Nginx网络服务的配置

Nginx网络服务的配置

location常见配置指令:root、alias、proxy_pass

root(根路径配置)root 后加路径,代表指定网页根路径,默认值是html(相对路径,代表/usr/local/nginx/html),location 后的 / ,代表root指定路径的根。

例:location /test , root /var/www/html , 代表访问指定根路径/var/www/html 下的 /test 中的页面 。

alias(别名配置)在location 指定路径的字段定义别名,之后访问指定路径,就是别名指定的路径。

例: location /test ,alisa /var/www/html ,访问服务器地址下的 /test 目录 ,指向的是/var/www/html 中的页面。

proxy_pass(反向代理配置文章来源地址https://www.toymoban.com/news/detail-498792.html

到了这里,关于Nginx网络服务的配置的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Nginx网络服务——虚拟主机设置

    相比较Apache的虚拟主机设置,Nginx的设置是十分简便的只需要修改主配置中的相关配置就能实现虚拟主机的效果 echo \\\"192.168.190.40 www.gundam.com www.noelle.com\\\" /etc/hosts   ifconfig ens33:0 192.168.190.42 netmask 255.255.255.0  

    2024年02月08日
    浏览(48)
  • Linux配置网络服务

    1.配置网络服务     Linux主机要与网络中其他主机进行通信,首先要进行正确的网络配置。网络配置通常包括主机名、IP地址、子网掩码、默认网关、DNS服务器等。 1.1检查并设置有线网络处于连接状态      单击桌面右上角的“启动”按钮 ,单击“连接” 按钮,设置有线

    2024年02月04日
    浏览(39)
  • DHCP配置——Linux网络服务

    DHCP( Dynamic Host Configuration Protocol ,动态主机配置协议 ) 由 Internet 工作任务小组设计开发 专门用于为 TCP/IP 网络中的计算机制动分配TCP/IP 参数的协议 DHCP( 动态主机配置协议)是一个局域网的网络协议,指的是由服务器控制一段 IP 地址范围,客户机登录服务器时可以自动获

    2023年04月09日
    浏览(38)
  • 网络服务(3)配置DNS服务的正反向解析

    目录 实验1:正向解析 准备工作  DNS配置 第一步:服务端操作,编制DNS的主配置文件  第二步:服务端操作,编辑区域配置文件,可以在最后添加,也可以全部清空后修改,建议复制一个模板,修改局部  第三步:服务端操作,编辑数据配置文件,使用拷贝命令将正向解析文

    2024年02月02日
    浏览(38)
  • 服务器取证——网络配置

    开启虚拟机,我刚开始的网络配置如下: 只有这么几行,是没有配置IP、子网掩码和网关的 以下是配置过程: 查看宝塔面板默认信息 登录宝塔面板,查看静态IP 得知是在 192.168.197.xxx 的这个网段,最好就是配置成都是同网段的 编辑 -- 虚拟网络编辑器 -- 设置成197这个网段

    2024年02月22日
    浏览(37)
  • 详细讲解下网络请求到f5和nginx和网关和服务器之前的联系和顺序关系

    在一个典型的网络请求流程中,涉及到 F5、Nginx、网关以及最终的服务器。让我们一步步分析它们之间的联系和顺序关系: 客户端发起请求 : 客户端(如浏览器、移动应用)通过发送 HTTP 请求向服务器请求特定资源(比如网页、图片、数据等)。 DNS解析 : 客户端会首先对

    2024年02月03日
    浏览(33)
  • Linux服务器配置指南:网络、用户管理、共享服务及DNS配置详解

    💂 个人网站:【 海拥】【神级代码资源网站】【办公神器】 🤟 基于Web端打造的:👉轻量化工具创作平台 💅 想寻找共同学习交流的小伙伴,请点击【全栈技术交流群】 设置虚拟机的网卡为仅主机模式,并要求服务器采用双网卡, ens33 IP地址设置为192.168. 5.x/24(其中x学号),

    2024年02月05日
    浏览(54)
  • Linux 网口配置文件及网络服务

    本篇记录Linux 的网卡配置以及网络服务的相关配置,期望在了解的网卡的配置内容的基础上,对网络问题能进行配置文件的排查。网络问题是非常复杂的,本篇不涉及抓包和网络的其他问题排查。 网络配置文件有很多,常见的有网口配置文件,DNS 配置,网关配置,主机地址

    2024年01月18日
    浏览(39)
  • 【计网】DHCP服务与手动配置网络参数

    这几日加深学习了计算机网络的相关知识,准备对一些相对重要的知识来做一个记录和总结。 对于DHCP服务想必大家都不陌生,在现代的计算机中我们一个普通人能轻易连上网络,这个服务在很大程度上起着作用。 首先官方的说法即:DHCP一般指动态主机配置协议。 动态主机

    2024年02月09日
    浏览(39)
  • 搭建自己的个人服务器(网络配置篇)

    1、确保你的服务器已经正确地配置好网络,可以连接到互联网。 2、确认服务器上的防火墙已经打开对于你所需要访问的端口的访问权限,比如常用的 HTTP 服务所使用的端口 80 或者 HTTPS 服务所使用的端口 443。 3、在你的路由器上进行端口映射。在路由器上找到端口映射的选

    2024年02月09日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包