nginx网站服务

一、Nginx的简单介绍

Nginx是一个高性能http和反方向的服务代理器,占用内存少,并发能力强,单台服务器可支持300~50个并发请求,系统消耗低用于社交网站、新闻资讯、电子商务以及虚拟主机

二、Nginx和apache的区别

Nginx和cpache都属于web服务器一种,但是两者使用的场景不一样(1)、apache对动态处理请求强,但是高并发性能弱,耗费资源多。(2)高并发能力强,擅长处理静态请求,反向代理、负载均衡

两者的优缺比较

  1. nginx配置简洁,apache复杂,nginx静态处理比apache高2陪以上
  2. Apache是同步多进程模型,一个连接对应一个进程;nginx是异步,多个链接对应一个进程
  3. Nginx适合做前端服务器,负载性能很好,nginx本身就是反向代理服务器,而且支持负载均衡
  • 反向代理的解释

客户端发送到请求代理服务器,由反向代理服务器去选择目标服务器获取它的数据,在返回给客户端。此时反向代理服务器和目标服务器对外就是一台服务器,暴露的代理服务器IP地址,隐藏了真实的服务器地址。代理服务端服务时,代理就是反向代理。

四、负载均衡的理解

在多个服务器的情况下,我们将请求发放到各个服务器上,将原来请求集中到单个服务器的情况改为将请求发送到多个服务器上,负载均衡分发到不同的服务器上,也就是负载均衡。

五、Nginx的安装编译及配置

Nginx最新版本为1.12.0 安装文件可以去官方http://www.nginx.org/下载

安装nginx

  1. 安装支持软件

[root@centos1 ~]# yum -y install pcre-devel zlib-devel

Pcre:是一个perl库,包括兼容的正则表达式库,nginx模块使用pcre来解析曾则表达式,需要安装pcre

Zlib:提供压缩和解压方式nginx使用zlib对http内容gzip

2.创建运行用户、组

[root@centos1 ~]# useradd -M -s /sbin/nologin nginx

创建一个nginx用户名不建立宿主文件夹,也禁止登入shell环境

3.编译及安装nginx

# tar zxf  nginx-1.12.0.tar.gz -C   /usr/src

把安装包解压缩到/usr/src/

[root@mysql ~]# cd /usr/src/nginx-1.12.0/

进入到这个解压缩文件夹中

[root@centos1 nginx-1.6.2]#./configure --prefix=/usr/local/nginx --user=nginx  --group=nginx  --with-http_stub_status_module

Prefix安装到那个目录

[root@centos1 nginx-1.6.2]# make&&make install

4.添加符号链接,以便通过nginx命令就可以调用nginx的主程序

[root@centos1 nginx-1.6.2]# ln -s /usr/local/nginx/sbin/nginx  /usr/local/sbin

Nginx的运行控制

1.检查配置文件

[root@centos1 nginx-1.6.2]# nginx -t

nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok

nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful

Nginx的主程序提供了 -t 用配置文件进行检查,以便找出不当的的错误配置

2.启动和停止nginx

[root@centos1 nginx-1.6.2]# nginx

命令即可启动nginx服务器

  1. 检查nginx的监听端口,或通过浏览器访问

 netstat -anpt | grep nginx

tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN

默认端口是80端口

3.重新加载nginx

[root@centos1 nginx-1.6.2]# killall -s HUP nginx

4.退出nginx

[root@centos1 nginx-1.6.2]# killall -s QUIT  nginx

配置文件要是修改过了记得把服务关闭在重启开启

5、用自己的IP地址访问就可以出现一下,证明nginx安装好了

配置文件要是修改过了记得把服务关闭在重启开启

了解nginx的配置文件nginx.conf

[root@centos1 nginx-1.6.2]vim  /usr/local/nginx/conf/nginx.conf

1.全局配置

#user  nobody;  //运行用户 默认为nobody

worker_processes  1; //工作的进程数量,可以根据cpu核心总数来指定工作进程数

#error_log  logs/error.log;//错误日志文件的位置

#pid        logs/nginx.pid; //PID文件的位置

events {

use epoll;  //需添加 使用epoll模型  异步无阻塞

    worker_connections  4096;每个进程处理4096个进程

}

3.HTTP配置

http {

    include       mime.types;

default_type  application/octet-stream;

 log_format  main  '$remote_addr - $remote_user [$time_local] "$request" ' //去掉前面的#

                      '$status $body_bytes_sent "$http_referer" ' //去掉前面的#

                      '"$http_user_agent" "$http_x_forwarded_for"'; //去掉前面的#

access_log  logs/access.log  main; //去掉前面的#访问日志位置)

 server {

        listen       80;  //网站的监听地址和端口

 server_name  localhost; //网站的域名

        #charset koi8-r;

        #access_log  logs/host.access.log  main; /网站的访问日志存放路径和格式

location / {

            root   html;   //根目录的位置

            index  index.html index.htm;  默认首页

        }

        #error_page  404              /404.html;

        error_page   500 502 503 504  /50x.html; //内部错误的反馈页面

        location = /50x.html {            //错误页面配置

            root   html;

        }

反向代理和负载均衡操作实验

  1. 准备两台安装网站服务器apache,安装好的nginx

  1. 网站1配置
  1. 安装apache网站

[root@localhost yum.repos.d]# yum -y install install httpd

(2)启动apache网站

root@localhost yum.repos.d]# systemctl restart httpd

(3)修改网页内容

[root@localhost yum.repos.d]# vim /var/www/html/index.html

Web1

(4)、添加防火墙访问服务或者关闭防火墙

root@localhost yum.repos.d]# firewall-cmd --add-service=http

success

  1. 网站2配置
  1. 安装apache网站

[root@localhost yum.repos.d]# yum -y install install httpd

(2)启动apache网站

oot@localhost yum.repos.d]# systemctl restart httpd

  1. 修改网页内容

[root@localhost yum.repos.d]# vim /var/www/html/index.html

Web2

(4)、添加防火墙访问服务或者关闭防火墙

root@localhost yum.repos.d]# firewall-cmd --add-service=http

success

4、反向代理和负载均衡服务器配置

(1)、找一台安装好的nginx服务器

(2)、修改nginx的配置文件

[root@localhost ~]# vim /usr/local/nginx/conf/nginx.conf

http {

    include       mime.types;

    default_type  application/octet-stream;

.............

.............

............

    #gzip  on;

    upstream apache_server {                              服务器池:实现反向代理               

        server 192.168.1.1:80 weight=2;                      写apache的IP地址

        server 192.168.1.3:80 weight=1;

}

server {

        listen       80;

        server_name  localhost;

        #charset koi8-r;

 server {

        listen       80;

        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {

            root   html;

            index  index.html index.htm;

            proxy_pass http://tomcat_server;  //把nginx的默认站点通过proxy_pass方法代理到设定好的tomcat_server负载均衡服务器组 

最后保存退出

关闭nginx然后在启动

[root@localhost ~]# killall -s QUIT nginx

[root@localhost ~]# nginx

最后找一台客户机访问nginx服务器的IP地址,出现web1点击刷新会出现web2即可

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

沈稳利

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值