Linux(十一) —— Nginx 的安装与配置

个人博客网:https://wushaopei.github.io/    (你想要这里多有)

一、应用原理解析-- 负载均衡

当用户访问量非常大时,我们需要使用多台Tomcat来构成集群,由Nginx负责将负载分摊到每一台Tomcat服务器上。

二、协调 -- Tomcat集群搭建

搭建Tomcat集群的基本思路是把Tomcat解压目录复制多份,然后让每一份Tomcat分别使用不同端口号即可。启动时分别进入自己的bin目录执行startup.sh即可。需要修改端口号的文件是server.xml,具体位置如下:

 x 22 <Server port="8005" shutdown="SHUTDOWN">
 71     <Connector port="8080" protocol="HTTP/1.1"
 93     <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

三、Nginx简介

                              

产地俄罗斯
父亲Igor Sysoev
开发语言C
生日第一个公开版本0.1.0发布于2004年10月4日
特长能够支撑5万并发,CPU、内存资源占用小,运行稳定

四、Nginx 的安装

1、下载

Linux:CentOS 7.3 64位

Nginx:nginx-1.13.1

安装目录:/usr/local/

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

或者 本地上传

2、准备工作

需要gcc-c++支持,如果未安装,则执行yum install -y gcc-c++

①拍pcre安装前快照

②执行三个操作

Opt目录下创建 nginx_envir.sh

③将以下三个安装命令复制粘贴

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

④用./nginx_envir.sh执行加载插件

3、编译安装

【1】第一步:创建目录

mkdir -p /var/temp/nginx/client

【2】第二步:上传并解压

tar -zxvf nginx-1.8.0.tar.gz

【3】第三步:生成 Makefile 文件

进入解压目录
./configure \
--prefix=/usr/local/nginx \
--pid-path=/var/run/nginx/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--with-http_gzip_static_module \
--http-client-body-temp-path=/var/temp/nginx/client \
--http-proxy-temp-path=/var/temp/nginx/proxy \
--http-fastcgi-temp-path=/var/temp/nginx/fastcgi \
--http-uwsgi-temp-path=/var/temp/nginx/uwsgi \
--http-scgi-temp-path=/var/temp/nginx/scgi

注解:

【4】第四步:编译

make

【5】第五步:安装

make install

4、启动

/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

5、效果

6、防火墙配置 --- 安全策略

【1】启动防火墙

sudo systemctl start firewalld.service

【2】允许 HTTP 和 HTTPS 传输

sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload

【3】在浏览器中输入服务器ip地址,看到类似 Welcome to nginx 字样,则表示安装成功

五、Nginx服务器基本操作

操作命令备注
启动/usr/local/nginx/sbin/nginx 
退出/usr/local/nginx/sbin/nginx -s quit正常关闭Nginx,推荐使用
停止/usr/local/nginx/sbin/nginx -s stop相当于杀死Nginx进程,不推荐使用
重启/usr/local/nginx/sbin/nginx -s quit<br />/usr/local/nginx/sbin/nginx 
重新加载配置文件/usr/local/nginx/sbin/nginx -s reload 

六.反向代理

①正向代理

情景:在一个局域网中,只有一台计算机可以接入互联网。其他计算机通过这台计算机间接接入互联网。

②反向代理

正向代理反向代理
为浏览器进行代理为服务器进行代理

    

七、负载均衡配置

1、配置域名

使用SwitchHosts工具设置www.balance.com域名到Linux主机地址的对应关系<

2、配置负载均衡

配置的路径

[root@rich conf]# pwd

                            /usr/local/nginx/conf

117     upstream balance {
118         server 192.168.10.164:8180;
118         server 192.168.10.164:8280;
119     }
120     server {
121         listen       80;
122         server_name  www.balance.com;
123 
124         location / {
125                 proxy_pass http://balance;
126                 index  index.html index.htm index.jsp;
127         }
128     }

八 .解决重启后找不到pid文件问题

mkdir /usr/local/nginx/logs

修改Nginx配置文件:

#pid        logs/nginx.pid;
pid        /usr/local/nginx/logs/nginx.pid;

问题:解决 nginx: [error] invalid PID number "" in "/usr/local/nginx/logs/nginx.pid"

配置好nginx.pid,使用/usr/local/nginx/sbin/nginx -s reload 重新读取配置文件出错

[root@localhost nginx]/usr/local/nginx/sbin/nginx -s reload
提示 nginx: [error] invalid PID number "" in "/usr/local/nginx/logs/nginx.pid"

[root@localhost nginx]# cd logs
[root@localhost logs]# ls
access.log  error.log  nginx-access.log  nginx_error.log
果然没有/usr/local/nginx/logs/nginx.pid 文件

解决方法:
[root@localhost nginx]/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

以上是解决问题的方案。

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值