• Nginx安装及配置


    实验环境

    CentOS 1804

    Nginx 1.14.1 stable version

    Nginx安装以及配置

    Nginx目录结构

    下载Nginx解压后目录结构如下

    [root@localhost ~]# wget http://nginx.org/download/nginx-1.14.1.tar.gz
    [root@localhost ~]# tar zxf nginx-1.14.1.tar.gz 
    [root@localhost nginx-1.14.1]# ll
    total 728
    drwxr-xr-x. 6 1001 1001   4096 Nov 20 15:31 auto
    -rw-r--r--. 1 1001 1001 287441 Nov  6 21:52 CHANGES
    -rw-r--r--. 1 1001 1001 438114 Nov  6 21:52 CHANGES.ru
    drwxr-xr-x. 2 1001 1001    168 Nov 20 15:31 conf
    -rwxr-xr-x. 1 1001 1001   2502 Nov  6 21:52 configure
    drwxr-xr-x. 4 1001 1001     72 Nov 20 15:31 contrib
    drwxr-xr-x. 2 1001 1001     40 Nov 20 15:31 html
    -rw-r--r--. 1 1001 1001   1397 Nov  6 21:52 LICENSE
    drwxr-xr-x. 2 1001 1001     21 Nov 20 15:31 man
    -rw-r--r--. 1 1001 1001     49 Nov  6 21:52 README
    drwxr-xr-x. 9 1001 1001     91 Nov 20 15:31 src
    View Code
    • src目录:存放Nginx源码
    • man目录:存放Nginx帮助手册
    • html目录:存放默认网站文件
    • contrib目录:存放其他机构或组织贡献的代码
    • conf目录:存放Nginx服务器的配置文件
    • auto目录:存放大量的脚本文件,和configure脚本程序相关
    • configure文件:Nginx自动安装脚本,用于检查环境,生成编译代码需要的makefile文件
    • CHANGES、CHANGES.ru、LICENSE和README都是Nginx服务器的相关文档资料。

    Nginx安装依赖

    Nginx中的功能是模块化的,而模块有依赖于一些软件包(如pcre库、zlib库、openssl库),因此需要先安装依赖库

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

    Linux中的某些软件包具有devel包和非devel包两种形式,如lib和lib-devel。那么两者有什么区别呢?

    非devel包就是普通的软件包,而devel包则一般会包括头文件、静态库甚至源码。若仅仅使用这些软件,则仅安装非devel包即可,但若在开发时需要用到这些软件包中的共享库,就需要安装devel包。
    通常在使用yum-yinstall安装devel包时,服务器会自动先安装非devel包,然后再安装devel包。因此,当同时需要使用两种包时,可以在yum命令中省略非devel包的书写。

    Nginx编译安装

    配置编译选项

    [root@localhost nginx-1.14.1]# ./configure 
    > --prefix=/usr/local/nginx 
    > --with-http_ssl_module
    View Code

    上述命令等价于,表示当前命令没有结束需要换到下一行书写,直到没有时结束。

    ./configure --prefix=/usr/local/nginx --with-http_ssl_module
    View Code

    --prefix设置Nginx的安装目录

    --with-http_ssl_module设置在Nginx中允许使用http_ssl_module模块的相关功能。

    Nginx中还有许多其他模块,后面如果先添加某些模块,再重现编译Nginx并使用--with-选项添加模块即可。

    编译及安装

    make && make install
    View Code

    &&用于连接2个命令,根据左边命令的返回值决定是否执行后面的命令。只有前面的命令执行成功后面的命令才会执行。

    启动Nginx

    /usr/local/nginx/sbin/nginx

    [root@localhost ~]# ps aux | grep nginx
    root       1371  0.0  0.0  45924  1124 ?        Ss   19:02   0:00 nginx: master process /usr/local/nginx/sbin/nginx
    nobody     1372  0.0  0.0  46372  1892 ?        S    19:02   0:00 nginx: worker process
    root       1374  0.0  0.0 112704   968 pts/0    S+   19:02   0:00 grep --color=auto nginx
    View Code

    Nginx启动后会生成一个主进程(master process)和 工作进程(worker process)。主进程以root用户运行,工作进程以nobody用户运行。

    Nginx启动后会占用默认端口号80,如果80端口号已被占用,Nginx则会启动失败

    [root@localhost ~]# netstat -tlnp
    Active Internet connections (only servers)
    Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
    tcp        0      0 0.0.0.0:80              0.0.0.0:*               LISTEN      1371/nginx: master  
    tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1022/sshd           
    tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      1179/master         
    tcp6       0      0 :::22                   :::*                    LISTEN      1022/sshd           
    tcp6       0      0 ::1:25                  :::*                    LISTEN      1179/master   
    View Code

    tlnp分别表示查看tcp协议,查看监听服务,不解析名称,显示进程名称和PID

    设置防火墙

    默认启动Nginx后,防火墙是阻止80端口的。

    iptables -I INPUT -p tcp --dport 80 -j ACCEPT

    此时访问Nginx服务器

     

     

     

  • 相关阅读:
    C++多态
    C++和C#实现剪切板数据交互
    通过CLR API实现C++调用C#代码交互
    COM方式实现C++调用C#代码的一些总结
    输入LPCWSTR类型字符串
    取得COM对象的UUID并以string输出
    springmvc xml文件配置中使用系统环境变量
    SpringMVC,SpringBoot上传文件简洁代码
    c语言实行泛型hashmap
    java使用nio(Paths,Files)遍历文件目录,转成java.io.File
  • 原文地址:https://www.cnblogs.com/kelamoyujuzhen/p/9989604.html
Copyright © 2020-2023  润新知