centos上搭建nginx

Linux上搭建Nginx

前言

之前我们搭建网站的时候,把war包放到tomcat下就能运行起来了,为什么部署上线的时候,又用到了nginx呢?
nginx可以做多台服务器的负载均衡,当用户非常少的时候,可以用一台服务直接部署web环境,那么当用户达到百万级别,千万级别的时候,就需要增加服务器,多台服务器又如何管理协作的呢?

nginx有以下功能:
1.静态HTTP服务器-Nginx是一个HTTP服务器,可以将服务器上的静态文件(如HTML、图片)通过HTTP协议展现给客户端。
2.反向代理服务器-客户端本来可以直接通过HTTP协议访问某网站应用服务器,网站管理员可以在中间加上一个Nginx,客户端请求NginxNginx请求应用服务器,然后将结果返回给客户端,此时Nginx就是反向代理服务器。
3.负载均衡-当网站访问量非常大,网站站长开心赚钱的同时,也摊上事儿了。因为网站越来越慢,一台服务器已经不够用了。
于是将同一个应用部署在多台服务器上,将大量用户的请求分配给多台机器处理。同时带来的好处是,其中一台服务器万一挂了,只要还有其他服务器正常运行,就不会影响用户使用。
4.虚拟主机-有的网站访问量大,需要负载均衡。然而并不是所有网站都如此出色,有的网站,由于访问量太小,需要节省成本,将多个网站部署在同一台服务器上。
5.FastCGI-Nginx本身不支持PHP等语言,但是它可以通过FastCGI来将请求扔给某些语言或框架处理(例如PHPPythonPerl)。

什么是nginx?

Nginx是一款自由的、开源的、高性能的HTTP服务器和反向代理服务器;同时也是一个IMAPPOP3SMTP代理服务器;
Nginx可以作为一个HTTP服务器进行网站的发布处理,另外Nginx可以作为反向代理进行负载均衡的实现。

正向代理,代理的是客户端,比如小伙伴们平常kexue上网,访问google网站就是用到的正向代理。

 

 

 

反向代理,它代理的是服务端,主要用于服务器集群分布式部署的情况下,反向代理隐藏了服务器的信息。

 

 

 

nginx依赖包安装

先安装依赖包

1.gcc安装:安装 nginx 需要先将官网下载的源码进行编译,编译依赖 gcc 环境,如果没有 gcc 环境,则需要安装
2.PCRE(Perl Compatible Regular Expressions) 是一个Perl库,包括 perl 兼容的正则表达式库。
nginx http 模块使用 pcre 来解析正则表达式,所以需要在 linux 上安装 pcre 库,pcre-devel 是使用 pcre 开发的一个二次开发库。nginx也需要此库
3.zlib库提供了很多种压缩和解压缩的方式, nginx 使用 zlib http 包的内容进行 gzip ,所以需要在 Centos 上安装 zlib 库。
4.OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及 SSL 协议,并提供丰富的应用程序供测试或其它目的使用。
nginx 不仅支持 http 协议,还支持 https(即在ssl协议上传输http),所以需要在 Centos 安装 OpenSSL 库。

yum install -y gcc-c++

yum install -y pcre pcre-devel

yum install -y zlib zlib-devel

yum install -y openssl openssl-devel

 

nginx下载与安装

直接下载.tar.gz安装包,下载地址:https://nginx.org/en/download.html
把下载的包放到/usr/local/nginx目录,然后解压安装到nginx-1.12.0当前目录,make编译安装

[root@yoyo sbin]# cd ~ 

[root@yoyo ~]# cd /usr/local/ 

[root@yoyo local]# mkdir nginx 

[root@yoyo local]# cd nginx 

[root@yoyo nginx]# wget -c https://nginx.org/download/nginx-1.12.0.tar.gz

[root@yoyo nginx]# tar -zxvf nginx-1.12.0.tar.gz 

[root@yoyo nginx]# cd nginx-1.12.0

 

# 安装到当前目录 [root@yoyo nginx]# ./configure 

[root@yoyo nginx]# make 

[root@yoyo nginx]# make install

 

到此为止环境已经安装好,接下来启动nginx服务

[root@yoyo nginx]# cd /usr/local/nginx/sbin/ 

[root@yoyo nginx]# ./nginx

 

第三步防火墙

开放80端口:

firewall-cmd --add-port=80/tcp --permanent

firewall-cmd --add-port=80/udp --permanent

firewall-cmd --reload

启动服务后,nginx默认是在80端口启动的,在浏览器输入http://47.104.x.x:80/ (80端口默认可以省略),能正常访问到页面,说明服务启动成功

 

 

 

 

相关指令

cd/usr/local/nginx/sbin/

1.启动服务

./nginx

2.停止服务,此方式停止步骤是待nginx进程处理任务完毕进行停止。

./nginx -s stop

3.退出服务,此方式相当于先查出nginx进程id再使用kill命令强制杀掉进程。

./nginx -s quit

4.重新加载,ngin x的配置文件 nginx.conf 修改后,要想让配置生效需要重启 nginx
使用-s reload不用先停止 ngin x再启动 nginx 即可将配置信息在 nginx 中生效

./nginx -s reload

5.查询nginx进程

ps aux|grep nginx

 

posted @ 2021-11-22 17:50  一颗大汤圆  阅读(467)  评论(0编辑  收藏  举报