/usr/local/src
# 1.安装gcc
安装nginx需要先将官方下载的源码进行编译,编译依赖gcc环境,如果没有gcc环境,则需要安装。
查看gcc版本
gcc -v
如果未安装gcc,提示gcc 命令未找到,则需安装gcc。执行以下命令来完成gcc安装。
yum -y install gcc
# 2.pcre、pcre-devel安装
Nginx的Rewrite模块和HTTP核心模块会使用到PCRE正则表达式语法。这里需要安装两个安装包pcre和pcre-devel。第一个安装包提供编译版本的库,而第二个提供开发阶段的头文件和编译项目的源代码。安装指令如下:
pcre(Perl Compatible Regular Expressions)是一个perl库,包括perl兼容的正则表达式库。nginx的http模块使用pcre来解析正则表达式,所以需要安装pcre库,pcre-devel是使用pcre开发的一个二次开发库。nginx也需要此库。执行以下命令进行安装:
yum install -y pcre pcre-devel
# 3.zlib安装
zlib库提供了开发人员的压缩算法,在Nginx的各种模块中需要使用gzip压缩。安装指令如下:
zlib库提供了很多种压缩和解压缩方式,nginx使用zlib对http包的内容进行gzip,所以需要在centos 7上安装zlib库。执行以下命令进行安装操作:
yum install -y zlib zlib-devel
# **4.**OpenSSL 安装
nginx不仅支持 http协议,还支持 https(即在 ssl 协议上传输 http),如果使用了 https,需要安装 OpenSSL 库。安装指令如下:
yum install -y openssl openssl-devel
# 5.nginx安装
# 5.1获取nginx
wget http://nginx.org/download/nginx-1.9.9.tar.gz
# 5.2解压nginx
nginx 复制到/usr/local/src
将下载好的nginx解压到/usr/soft目录下
tar -xvf nginx-1.16.0.tar.gz
# tar -zxvf nginx-1.9.9.tar.gz -C /usr/soft
# 5.3安装nginx
解压后切换到nginx-1.16.0目录下,执行以下命令完成nginx安装
**cd /usr/local/src/**nginx-1.16.0
进行配置,推荐使用默认配置,直接./configure就好了:
./configure
这里和redis的编译安装比较类似,首先在当前目录进行编译。输入make即可
make
然后回车,如果编译出错,请检查是否前面的4个安装都没有问题。
编译成功之后,就可以安装了,输入以下指令:
make install
# 5.4配置nginx
修改配置文件
安装后目录: /usr/local/nginx
切换目录:[root@localhost nginx-1.9.9]# cd /usr/local/nginx/conf
修改文件:[root@localhost conf]# vi nginx.conf
主要是修改server配置节的内容,listen为nginx的端口号,默认为80,可按需修改。
ESC键,退出编辑模式,按冒号键“:”进入命令模式,输入“wq”然后回车,保存并退出;
切换到sbin目录:[root@localhost conf]# cd /usr/local/nginx/sbin
开放防火墙端口:
打开客户端连接端口
centos7: firewall-cmd --zone=public --add-port=80/tcp --permanent firewall-cmd --reload
- 启动Nginx:
[root@localhost sbin]# ./nginx
或 /usr/local/nginx/sbin/nginx
- 关闭nginx
./nginx -s quit 或者 ./nginx -s stop
- 重启nginx
./nginx -s reload
- 查看nginx进程
ps aux|grep nginx
- 设置nginx开机启动,只需在rc.local增加启动代码即可。
#vim /etc/rc.local(不用)
# centos7 vi /etc/rc.d/rc.local
#然后在底部增加/usr/local/nginx/sbin/nginx
!!!!!
创建/etc/init.d/nginx
在里面加NGINX启动脚本,然后->
必须运行 chmod +x /etc/init.d/nginx以确保这个脚本将在引导期间执行。
--------------------------
# 6.配置tomcat、nginx实现反向代理
现在我想通过nginx访问tomcat
这就要我们去修改nginx的核心配置文件,在其目录下的conf文件夹下的nginx.conf文件,那么首先我们就要了解该文件中一些节点的作用。
worker_processes:工作进程个数,可配置多个
worker_connections:单个进程最大连接数
server:每一个server相当于一个代理服务器
lister:监听端口,默认80
server_name:当前服务的域名,可以有多个,用空格分隔(我们是本地所以是localhost)
location:表示匹配的路径,这时配置了/表示所有请求都被匹配到这里
index:当没有指定主页时,默认会选择这个指定的文件,可多个,空格分隔
proxy_pass:请求转向自定义的服务器列表
upstream name{ }:服务器集群名称
知道了节点作用后,我们就知道我们需要修改的文件中的server部分
vi /usr/local/nginx/conf/nginx.conf
它访问的是它欢迎页面即index.html,
在server 之前加入以下内容:
创建服务器集群,并命名为test,web集群的ip地址+端口号全部配置在这里,下面以两台web应用服务器为例。
upstream test{
#服务器配置 weight是权重的意思,权重越大,分配的概率就越大
server 192.168.32.1:8081 weight=1;
server 192.168.32.2:8081 weight=1;
}
同时我们需要再修改下server,将定向的路径转到自定义服务器集群上。修改location 下的proxy_pass 节点内容。
http:// 后面对应upstream节点中集群的名称,两边一致即可。
server {
listen 80;
server_name localhost;
charset utf-8;
location / {
proxy_pass http://test;
#root html;
#index index.html index.htm;
}
}
ESC键,退出编辑模式,按冒号键“:”进入命令模式,输入“wq”然后回车,保存并退出。
重启nginx:[root@localhost bin]# /usr/local/nginx/sbin/nginx -s reload
← docker部署Nginx Nginx →