编译安装nginx,实现调度功能

简介: 编译安装nginx,实现调度功能

源码包下载:http://nginx.org/en/download.html   (mainline:开发版  stable:稳定版)

rpm包的yum源:http://nginx.org/packages/centos/7/x86_64/

       本次通过安装另两个方式安装nginx实现调度功能,配置功能相同。源码安装方式只讲解如何安装,rpm安装将修改配置文件,只需要找到配置文件位置添加配置文件即可。

源码安装nginx配置主要目录

/usr/local/nginx/ 安装目录

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

/usr/share/nginx/html 网页根目录

/var/log/nginx/     存放日志的位置,access.log访问日志,error.log错误日志

rpm安装nginx配置文件路径

/etc/nginx/nginx.conf 主配置文件,通过include /etc/nginx/conf.d/*.conf;指定扩展配置文件的路径

/etc/nginx/conf.d/ 扩展配置文件的路径,配置文件名称自定义

/usr/share/nginx/html 网页根目录

/var/log/nginx/     存放日志的位置,access.log访问日志,error.log错误日志

源码安装nginx

1. 前提环境

[root@localhost ~]# yum -y install gcc gcc-c++ make libtool zlib zlib-devel pcre pcre-devel openssl openssl-devel

2. 解压Nginx包

1. [root@localhost ~]# useradd -s /sbin/nologin nginx
2. [root@localhost ~]# tar zxf /media/nginx-goodies-nginx-sticky-module-ng-08a395c66e42.tar.gz -C /usr/src
3. [root@localhost ~]# tar zxf /media/ngx_cache_purge-2.3.tar.gz -C /usr/src
4. [root@localhost ~]# tar zxf /media/nginx-1.12.0.tar.gz -C /usr/src

3. 编译安装nginx

1. [root@localhost ~]# cd /usr/src/nginx-1.12.0/
2. [root@localhost nginx-1.12.0]# ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx \
3. --with-http_stub_status_module --with-http_realip_module --with-http_ssl_module \
4. --with-http_gzip_static_module --http-client-body-temp-path=/var/tmp/nginx/client \
5. --http-proxy-temp-path=/var/tmp/nginx/proxy --http-fastcgi-temp-path=/var/tmp/nginx/fcgi \
6. --with-pcre --add-module=../ngx_cache_purge-2.3 --with-http_flv_module \
7. --add-module=../nginx-goodies-nginx-sticky-module-ng-08a395c66e42
8. [root@localhost nginx-1.12.0]# make && make install

4. 添加系统服务并启动

1. [root@localhost ~]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/
2. [root@localhost ~]# mkdir -p /var/tmp/nginx/client
3. [root@localhost ~]# chown -R nginx:nginx /var/tmp/nginx
4. [root@localhost ~]# vim /etc/init.d/nginx
5. #!/bin/bash
6. # chkconfig: 2345 99 20
7. # description: Nginx Service Control Script
8. PROG="/usr/local/nginx/sbin/nginx"
9. PIDF="/usr/local/nginx/logs/nginx.pid"
10. case "$1" in
11.  start)
12.  netstat -anplt |grep ":80" &> /dev/null && pgrep "nginx" &> /dev/null
13.  if [ $? -eq 0 ]
14.  then
15.  echo "Nginx service already running."
16.  else
17.  $PROG -t &> /dev/null
18.  if [ $? -eq 0 ] ; then
19.  $PROG
20.  echo "Nginx service start success."
21.  else
22.  $PROG -t
23.  fi
24.  fi
25.  ;;
26.  stop)
27.  netstat -anplt |grep ":80" &> /dev/null && pgrep "nginx" &> /dev/null
28.  if [ $? -eq 0 ]
29.  then
30.  kill -s QUIT $(cat $PIDF)
31.  echo "Nginx service stop success."
32.  else
33.  echo "Nginx service already stop"
34.  fi
35.  ;;
36.  restart)
37.  $0 stop
38.  $0 start
39.  ;;
40.  status)
41.  netstat -anplt |grep ":80" &> /dev/null && pgrep "nginx" &> /dev/null
42.  if [ $? -eq 0 ]
43.  then
44.  echo "Nginx service is running."
45.  else
46.  echo "Nginx is stop."
47.  fi
48.  ;;
49.  reload)
50.  netstat -anplt |grep ":80" &> /dev/null && pgrep "nginx" &> /dev/null
51.  if [ $? -eq 0 ]
52.  then
53.  $PROG -t &> /dev/null
54.  if [ $? -eq 0 ] ; then
55.  kill -s HUP $(cat $PIDF)
56.  echo "reload Nginx config success."
57.  else
58.  $PROG -t
59.  fi
60.  else
61.  echo "Nginx service is not run."
62.  fi
63.  ;;
64.  *)
65.  echo "Usage: $0 {start|stop|restart|reload}"
66.  exit 1
67. esac
68. [root@localhost ~]# chmod +x /etc/init.d/nginx 
69. [root@localhost ~]# chkconfig --add nginx 
70. [root@localhost ~]# chkconfig nginx on
71. [root@localhost ~]# service  nginx  start 
72. Nginx service start success.

5. 验证

查看版本信息:nginx -v

查看模块信息:nginx -V

       通过访问Nginx服务器,可以看到Nginx默认网页(如下图)。

rpm安装nginx

调度器配置

1. [root@localhost ~]# rpm -ivh /media/nginx-rpm/* --nodeps --force  //rpm安装nginx
2. 
3. [root@localhost ~]# cd /etc/nginx/conf.d/
4. 
5. [root@localhost conf.d]# ls
6. 
7. default.conf
8. 
9. [root@localhost conf.d]# rm -rf *  //删除默认扩展配置文件
10. 
11. [root@localhost conf.d]# vim lb.conf //添加扩展配置文件,指定两个节点IP
12. 
13. upstream web {
14. 
15.         server 192.168.1.5:80;
16. 
17.         server 192.168.1.6:80;
18. 
19. }
20. 
21. server {
22. 
23.         listen 80;
24. 
25.         server_name localhost;
26. 
27.         location / {
28. 
29.         root html;
30. 
31.         index index.html index.htm;
32. 
33.         proxy_pass http://web;
34. 
35.         }
36. 
37. }
38. 
39. [root@localhost conf.d]# nginx -t //检查语法
40. 
41. nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
42. 
43. nginx: configuration file /etc/nginx/nginx.conf test is successful
44. 
45. [root@localhost conf.d]# systemctl start nginx

节点服务器配置

       两台服务器配置相同,但网页内容需要做出区分,以方便测试。

1. [root@node1 ~]# rpm -ivh /media/nginx-rpm/* --nodeps --force
2. 
3. [root@node1 ~]# echo "192.168.1.5" > /usr/share/nginx/html/index.html
4. 
5. [root@node1 ~]# systemctl start nginx

       分别访问node1和node2可以看到网页内容分别不同。

        此时可以访问调度器IP,刷新两次网址,可以看到两个节点的网站内容即调度完成。


相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
3月前
|
负载均衡 网络协议 应用服务中间件
【Nginx】Nginx 功能特性
【1月更文挑战第25天】【Nginx】Nginx 功能特性
|
6月前
|
应用服务中间件 nginx
Nginx-1.14.2编译安装
Nginx-1.14.2编译安装
|
5月前
|
应用服务中间件 nginx
nginx防盗链功能
nginx防盗链功能
|
7月前
|
Ubuntu 应用服务中间件 nginx
百度搜索:蓝易云【Ubuntu 18.04系统编译安装Nginx 1.22教程。】
现在,您已经成功地在Ubuntu 18.04上编译和安装了Nginx 1.22。您可以通过在浏览器中访问服务器的IP地址来验证Nginx是否正常运行。请确保在实际操作中根据您的需求进行适当的配置和调整。请注意,通过编译安装方式安装的Nginx不会自动更新,您需要手动更新版本或进行维护。
94 1
|
7月前
|
应用服务中间件 Linux 网络安全
百度搜索:蓝易云【Cnetos7编译安装Nginx教程。】
现在,您已经成功在CentOS 7上通过编译安装了Nginx。请注意,以上步骤提供了基本的指导,实际操作可能会有所差异。如有需要,您可以参考Nginx官方文档或社区资源获取更详细的信息和帮助。
67 0
|
3月前
|
负载均衡 NoSQL 应用服务中间件
Nginx编译安装及配置文件详解
Nginx编译安装及配置文件详解
|
8月前
|
缓存 负载均衡 网络协议
一文讲懂Nginx常用配置及和基本功能
一文讲懂Nginx常用配置及和基本功能
234 1
|
4月前
|
Ubuntu 应用服务中间件 PHP
Ubuntu 非手动编译安装 PHP8 和 Nginx
Ubuntu 非手动编译安装 PHP8 和 Nginx
47 0
|
4月前
|
应用服务中间件 Linux Shell
centos编译安装nginx(2)
安装成功之后,nginx的配置文件,在安装目录(/usr/local/nginx)下的conf目录下的nginx.conf中。 Php-fpm在安装的时候已经配置过了,这里不再赘述
58 0
centos编译安装nginx(2)
|
4月前
|
应用服务中间件 Shell Linux
centos编译安装nginx(1)
进入解压后的目录,编译
108 0