如何在Linux下正确安装Nginx

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/u012431703/article/details/99671221

 

Nginx介绍:

Nginx (engine x) 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,第一个公开版本0.1.0发布于2004年10月4日。

Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,目前在我们中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝等。

Nginx并发能力:50000次并发/s;真实数据大约在:2-3万之间

下载Nginx

直接去Nginx官网http://nginx.org/en/download.html】下载:

或者直接通过下面的命令下载:

wget http://nginx.org/download/nginx-1.16.1.tar.gz

注意:将Nginx保存到本地磁盘下时,不要放到C盘下和中文路径下

下载并安装Nginx所需要的相关依赖包:

/** 
  *下面一键安装Nginx需要依赖的3个包
  * 1.ssl     功能需要 openssl 库 ( 下载: http://www.openssl.org/ )
  * 2.gzip    模块需要 zlib 库    ( 下载: http://www.zlib.net/ )
  * 3.rewrite 模块需要 pcre 库    ( 下载: http://www.pcre.org/ )
  * 注:依赖包安装顺序依次为:openssl、zlib、pcre, 然后安装Nginx包
  */

yum -y install gcc  openssl openssl-devel zlib zlib-devel pcre-devel

注意:如果没有安装c++的编译环境,还得安装,通过yum install gcc-c++完成安装

开始前,请确认你们的 gcc g++开发类库是否装好,有点已经默认安装了。

若你是 ububtu平台编译环境可以使用以下指令进行安装

apt-get install build-essential
apt-get install libtool

===============================================================
===============================================================

若你是 centos平台编译环境使用如下指令

yum -y install gcc automake autoconf libtool make       安装make:
yum install gcc gcc-c++                                 安装g++:

解压Nginx:

安装Nginx:

1.进到Nginx的解压目录【cd /usr/software/nginx-1.16/nginx-1.16.0】下执行命令【./configure】
2.然后执行命令【make】
3.最后再执行命令【make install】

修改配置nginx.conf:

# 进入到Nginx的安装目录下的conf文件夹下,打开Nginx的配置文件
vim nginx.conf

将端口号改成8090,因为可能apeache占用80端口,apeache端口尽量不要修改,我们选择修改nginx端口。

修改端口为8090,localhost修改为你服务器ip地址。

拓展知识:

Nginx配置文件主要分成四部分:main(全局设置)、server(主机设置)、upstream(上游服务器设置,主要为反向代理、负载均衡相关配置)和 location(URL匹配特定位置后的设置),每部分包含若干个指令。main部分设置的指令将影响其它所有部分的设置;server部分的指令主要用于指定虚拟主机域名、IP和端口;upstream的指令用于设置一系列的后端服务器,设置反向代理及后端服务器的负载均衡;location部分用于匹配网页位置(比如,根目录“/”,“/images”,等等)。他们之间的关系式:server继承main,location继承server;upstream既不会继承指令也不会被继承。它有自己的特殊指令,不需要在其他地方的应用。

  • main全局配置

nginx在运行时与具体业务功能(比如http服务或者email服务代理)无关的一些参数,比如工作进程数,运行的身份等。

  • woker_processes 2
    在配置文件的顶级main部分,worker角色的工作进程的个数,master进程是接收并分配请求给worker处理。这个数值简单一点可以设置为cpu的核数grep ^processor /proc/cpuinfo | wc -l,也是 auto 值,如果开启了ssl和gzip更应该设置成与逻辑CPU数量一样甚至为2倍,可以减少I/O操作。如果nginx服务器还有其它服务,可以考虑适当减少。
  • worker_cpu_affinity
    也是写在main部分。在高并发情况下,通过设置cpu粘性来降低由于多CPU核切换造成的寄存器等现场重建带来的性能损耗。如worker_cpu_affinity 0001 0010 0100 1000; (四核)。
  • worker_connections 2048
    写在events部分。每一个worker进程能并发处理(发起)的最大连接数(包含与客户端或后端被代理服务器间等所有连接数)。nginx作为反向代理服务器,计算公式 最大连接数 = worker_processes * worker_connections/4,所以这里客户端最大连接数是1024,这个可以增到到8192都没关系,看情况而定,但不能超过后面的worker_rlimit_nofile。当nginx作为http服务器时,计算公式里面是除以2。
  • worker_rlimit_nofile 10240
    写在main部分。默认是没有设置,可以限制为操作系统最大的限制65535。
  • use epoll
    写在events部分。在Linux操作系统下,nginx默认使用epoll事件模型,得益于此,nginx在Linux操作系统下效率相当高。同时Nginx在OpenBSD或FreeBSD操作系统上采用类似于epoll的高效事件模型kqueue。在操作系统不支持这些高效模型时才使用select。

 

 

 

 

启动nginx:

直接去有Nginx的文件夹下通过命令【./nginx 】直接启动Nginx:

nginx的启动【./nginx】、重启【./nginx -s reload】、停止【./nginx -s stop】命令

  启动成功后,可以直接在浏览器访问192.168.1.112

至此Nginx已经成功安装!

后面再简单扩展一些知识:

猜你喜欢

转载自blog.csdn.net/u012431703/article/details/99671221