美文网首页
Nginx安装和配置

Nginx安装和配置

作者: 小小蒜头 | 来源:发表于2018-07-28 15:39 被阅读119次

    1. 什么是nginx

    是一个使用c语言开发的高性能的http服务器及反向代理服务器。
    Nginx是一款高性能的http 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器。由俄罗斯的程序设计师Igor Sysoev所开发,官方测试nginx能够支支撑5万并发链接,并且cpu、内存等资源消耗却非常低,运行非常稳定。

    2. Nginx的应用场景

    1、http服务器。Nginx是一个http服务可以独立提供http服务。可以做网页静态服务器。
    2、虚拟主机。可以实现在一台服务器虚拟出多个网站。例如个人网站使用的虚拟主机。
    3、反向代理,负载均衡。当网站的访问量达到一定程度后,单台服务器不能满足用户的请求时,需要用多台服务器集群可以使用nginx做反向代理。并且多台服务器可以平均分担负载,不会因为某台服务器负载高宕机而某台服务器闲置的情况。

    3. Nginx的安装

    Nginx一般推荐安装到linux系统,而且要安装c语言的编译环境gcc。

    3.1 安装nginx依赖的包

    nginx是C语言开发,建议在linux上运行,本教程使用ubuntu16.10作为安装环境。

    ● gcc
    安装nginx需要先将官网下载的源码进行编译,编译依赖gcc环境,如果没有gcc环境,需要安装gcc

    sudo apt install build-essential
     
    sudo apt install libtool 
    
    gcc效果图

    ● PCRE
    PCRE(Perl Compatible Regular Expressions)是一个Perl库,包括 perl 兼容的正则表达式库。nginx的http模块使用pcre来解析正则表达式,所以需要在linux上安装pcre库。

    注:pcre-devel是使用pcre开发的一个二次开发库。nginx也需要此库。

    sudo apt update 
     
    sudo apt-get install libpcre3 libpcre3-dev 
    
    PCRE效果图

    ● zlib
    zlib库提供了很多种压缩和解压缩的方式,nginx使用zlib对http包的内容进行gzip,所以需要在linux上安装zlib库。

    sudo apt install zlib1g-dev
    
    zlib效果图

    ● openssl
    OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。
    nginx不仅支持http协议,还支持https(即在ssl协议上传输http),所以需要在linux安装openssl库。

    sudo apt install openssl
    

    3.2 安装步骤

    ● 首先在官网下载最新版本,本文使用的是1.12.2版本,下载地址为:http://nginx.org/en/download.html

    安装包

    ● 解压nginx-1.12.2.tar.gz

    将安装包放到/usr/local/nginx下,再当前文件夹里打开终端进行解压

    解压

    ● 进入解压目录/usr/local/nginx/nginx-1.12.2,进行配置

    sudo chmod -R 777 /usr/local/nginx   //其他类似的没有权限的就如此般更改权限
    
    cd /usr/local/nginx/nginx-1.12.2
    
    ./configure --prefix=/usr/local/nginx   //进行配置
    
    解压配置

    ● 编译和安装

    make
    
    make install
    

    ● 指定配置文件

    注意:-c 指定配置文件的路径,不加的话,nginx会自动加载默认路径的配置文件

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

    ● 启动

    先进入目录/usr/local/nginx,然后启动

    注意:要以root用户启动,不然会提示权限错误

    cd /usr/local/nginx
     
    ./sbin/nginx 
    
    启动与停止

    ● 停止

    有2种关闭方式

    ./sbin/nginx -s stop   
    
    ./sbin/nginx -s quit
    

    ● nginx重新加载配置

    nginx -c  nginx.conf
    

    ● nginx查看启动进程

    有两个进程master和worker,就表示启动好了

    ps aux|grep nginx
    
    启动进程

    4. nginx配置虚拟机

    /usr/local/nginx/conf目录下nginx.conf文件是nginx的配置文件

    4.1 通过端口区分虚拟机

    在nginx.conf文件中添加一个server节点,修改端口号就可以

    Server虚拟机
    server {
            listen       81;
            server_name  localhost;
    
            #charset koi8-r;
    
            #access_log  logs/host.access.log  main;
    
            location / {
                root   html81;
                index  index.html index.htm;
            }
       }
    

    4.1 通过域名区分虚拟机

    ● 域名介绍

    一个域名对应一个IP地址。

    本地测试可以通过修改hosts文件指定域名的IP地址(就不需要用到DNS服务器解析IP了,因为hosts文件已经写好IP,直接访问域名->IP,这就是host域名劫持)。

    通过域名解析IP访问服务器

    ● 编辑hosts文件,然后访问test.taotao.com:80

    sudo gedit /etc/hosts
    
    添加图示IP和域名

    ● 配置基于域名的虚拟主机

    需要修改nginx.conf配置文件

    server {
            listen       80;
            server_name  test3.taotao.com;
    
            #charset koi8-r;
    
            #access_log  logs/host.access.log  main;
    
            location / {
                root   html-test3; 
            }
       }
    

    修改配置后需要重新加载配置文件。直接访问域名:test3.taotao.com

    下篇:Nginx反向代理和负载均衡

    相关文章

      网友评论

          本文标题:Nginx安装和配置

          本文链接:https://www.haomeiwen.com/subject/uqpomftx.html