天天看点

Linux企业运维——nginx的安装部署Nginx概述Nginx特性nginx安装设置nginx开机自启动

目录

  • Nginx概述
  • Nginx特性
  • nginx安装
  • 设置nginx开机自启动

Nginx概述

Nginx 是俄罗斯人编写的十分轻量级的 HTTP 服务器,Nginx,是一个高性能的HTTP和反向代理服务器,同时也是一个 IMAP/POP3/SMTP 代理服务器。nginx可以作为一个HTTP服务器进行网站的发布处理,另外nginx可以作为反向代理进行负载均衡的实现。

Nginx特性

Nginx 做为 HTTP 服务器,有以下几项基本特性:

Nginx 做为 HTTP 服务器,有以下几项基本特性:

处理静态文件,索引文件以及自动索引;打开文件描述符缓冲. 无缓存的反向代理加速,简单的负载均衡和容错.

FastCGI,简单的负载均衡和容错. 模块化的结构。包括 gzipping, byte ranges, chunkedresponses,以及 SSI-filter 等 filter。如果由 FastCGI 或其它代理服务器处理单页中存在的多个 SSI,则这项处理可以并行运行,而不需要相互等待。 支持 SSL 和 TLSSNI. Nginx

专为性能优化而开发,性能是其最重要的考量,实现上非常注重效率 。它支持内核 Poll 模型,能经受高负载的考验,有报告表明能支持高达
50,000 个并发连接数。

Nginx 具有很高的稳定性。其它 HTTP服务器,当遇到访问的峰值,或者有人恶意发起慢速连接时,也很可能会导致服务器物理内存耗尽频繁交换,失去响应,只能重启服务器。
           

nginx安装

官方网站下载地址:

https://nginx.org/en/download.html

Linux企业运维——nginx的安装部署Nginx概述Nginx特性nginx安装设置nginx开机自启动

下载对应的版本的nginx压缩包,解压到自己电脑上存放软件的文件夹中即可

解压安装包,删除版本号显示

tar zxf nginx-1.20.1.tar.gz
cd nginx-1.20.1/src/core/
vim nginx.h
#define NGINX_VER          "nginx/"  #删除nginx版本显示
           
Linux企业运维——nginx的安装部署Nginx概述Nginx特性nginx安装设置nginx开机自启动

#debug——取消gcc编辑调试

cd /root/nginx-1.20.1/auto/cc/ 
vim gcc #取消gcc的编译调试
# debug
#CFLAGS="$CFLAGS -g"
           
Linux企业运维——nginx的安装部署Nginx概述Nginx特性nginx安装设置nginx开机自启动

下载依赖性安装包,编译安装,开启服务

yum install  gcc pcre-devel openssl-devel -y #nginx安装中的依赖性安装包

安装环境:因为nginx是静态服务器安装和以往安装环境不同分三步走:
 ./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-http_stub_status_module --with-threads --with-file-aio #configure编译安装nginx源程序生成makefile文件在make编译过程中读取MAKEFILE文件 
 make 编译
 make install   安装完成!
 
 cd /usr/local
 ls 查看
 cd sbin
 ls 查看
 ./nginx  ##开启服务
 netstat -antlp  ##查看端口
           

因为每次开启或者关闭nginx服务都需要进入指定目录比较繁琐,所以这里我们可以建立一个软连接开启全局nginx

ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/
[[email protected] conf]# which nginx    ##全局识别nginx服务
/usr/local/sbin/nginx
[[email protected] conf]#echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

           

编辑nginx配置文件使其与程序相匹配

cd /usr/local/nginx/conf/
vim nginx.conf #主配置文件

events {
    worker_connections  65535; #worker能接受的最大文件连接数
}

nginx -s reload #重载
lscpu #查看cpu内核个数
vim nginx.conf

#user  nobody;
worker_processes  auto;#自动设置

sysctl -a |grep file #查看程序能接受最大文件连接数
vim /etc/security/limits.conf 

nginx            -       nofile          65536 #修改操作系统能支持的最大文件数
           

这里我的虚拟机server1的CPU个数为2,可以设置为2或者auto自动识别系统工作线程数

Linux企业运维——nginx的安装部署Nginx概述Nginx特性nginx安装设置nginx开机自启动

worker_processes 2; #当服务器中cpu个数为2个时设置为 01 10 表示他两种方式

worker_cpu_affinity 01 10;

cpu个数为4时设置为0001 0010 0100 1000

Linux企业运维——nginx的安装部署Nginx概述Nginx特性nginx安装设置nginx开机自启动

新建一个nginx用户,重新编辑配置文件可以将用户nobody改为nginx

useradd -d /usr/local/nginx -M -s /sbin/nologin nginx
nginx -t   #检测语法
nginx -s reload
           
Linux企业运维——nginx的安装部署Nginx概述Nginx特性nginx安装设置nginx开机自启动

设置nginx开机自启动

cd /usr/lib/systemed/system/
vim nginx.service

[Unit]
Description=The NGINX HTTP and reverse proxy server
After=syslog.target network-online.target remote-fs.target nss-lookup.target
Wants=network-online.target

[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStartPre=/usr/local/sbin/nginx -t
ExecStart=/usr/local/sbin/nginx
ExecReload=/usr/local/sbin/nginx -s reload
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true

[Install]
WantedBy=multi-user.target

systemctl daemon-reload
           

继续阅读