• 02.CentOS Linux 7.7 Nginx安装部署文档


     

    CentOS Linux 7.7操作系统

    Nginx安装部署文档

     

    编写人

    Li Xiao Zhe

    版 本

    SBL-Linux-02-01

    博 客

    https://www.cnblogs.com/LuckyHaTech/

     

    一、系统版本

    CentOS Linux release 7.7.1908 (Core)

    二、软件版本

    2.1.Pcre软件包

    pcre-8.43.tar.gz

    2.2.Zlib软件包

    zlib-1.2.11.tar.gz

    2.3.OpenSSL软件包

    openssl-1.1.1c.tar.gz

    2.4.Nginx软件包

    nginx-1.16.0.tar.gz

    三、软件安装

    3.1.创建指定目录

    [root@localhost ~]# mkdir -p /usr/local/data/lnmp

    3.2.安装依赖组件

    [root@localhost ~]# yum -y install gcc gcc-c++

    3.3.安装Pcre库

    [root@localhost ~]# tar -xzf pcre-8.43.tar.gz -C /usr/local/data/lnmp/

    [root@localhost ~]# cd /usr/local/data/lnmp/pcre-8.43

    [root@localhost pcre-8.43]# ./configure --prefix=/usr/local/data/lnmp/pcre

    [root@localhost pcre-8.43]# make

    [root@localhost pcre-8.43]# make install

    3.4.安装Zlib库

    [root@localhost ~]# tar -xzf zlib-1.2.11.tar.gz -C /usr/local/data/lnmp/

    [root@localhost ~]# cd /usr/local/data/lnmp/zlib-1.2.11/

    [root@localhost zlib-1.2.11]# ./configure --prefix=/usr/local/data/lnmp/zlib

    [root@localhost zlib-1.2.11]# make

    [root@localhost zlib-1.2.11]# make install

    3.5.安装OpenSSL库

    [root@localhost ~]# tar -xzf openssl-1.1.1c.tar.gz -C /usr/local/data/lnmp/

    [root@localhost ~]# cd /usr/local/data/lnmp/openssl-1.1.1c/

    [root@localhost openssl-1.1.1c]# ./config --prefix=/usr/local/data/lnmp/openssl

    [root@localhost openssl-1.1.1c]# make

    [root@localhost openssl-1.1.1c]# make install

    *配置软链接*

    [root@localhost openssl-1.1.1c]#

    ln -s /usr/local/data/lnmp/openssl/lib/libssl.so.1.1 /usr/lib64/libssl.so.1.1

    [root@localhost openssl-1.1.1c]#

    ln -s /usr/local/data/lnmp/openssl/lib/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1

    *设置环境变量*

    [root@localhost openssl-1.1.1c]# echo 'export PATH=$PATH:/usr/local/data/lnmp/openssl-1.1.1c/bin'>>/etc/profile

    [root@localhost openssl-1.1.1c]# source /etc/profile

    *删除软链接*

    [root@localhost openssl-1.1.1c]# rm /usr/lib64/libssl.so.1.1

    [root@localhost openssl-1.1.1c]# rm /usr/lib64/libcrypto.so.1.1

    3.6.安装Nginx包

    [root@localhost ~]# groupadd nginx

    [root@localhost ~]# useradd -r -g nginx nginx

    [root@localhost ~]# tar -xzf nginx-1.16.0.tar.gz -C /usr/local/data/lnmp/

    [root@localhost ~]# cd /usr/local/data/lnmp/nginx-1.16.0/

    [root@localhost nginx-1.16.0]#

    ./configure --prefix=/usr/local/data/lnmp/nginx

    --sbin-path=/usr/local/data/lnmp/nginx/sbin/nginx

    --modules-path=/usr/local/data/lnmp/nginx/modules

    --conf-path=/usr/local/data/lnmp/nginx/conf/nginx.conf

    --error-log-path=/usr/local/data/lnmp/nginx/error/error.log

    --pid-path=/usr/local/data/lnmp/nginx/pid/nginx.pid

    --lock-path=/usr/local/data/lnmp/nginx/lock/nginx.lock

    --user=nginx

    --group=nginx

    --with-http_ssl_module

    --with-http_flv_module

    --with-http_mp4_module

    --with-http_stub_status_module

    --http-log-path=/usr/local/data/lnmp/nginx/access/access.log

    --http-client-body-temp-path=/usr/local/data/lnmp/nginx/client

    --http-proxy-temp-path=/usr/local/data/lnmp/nginx/proxy

    --http-fastcgi-temp-path=/usr/local/data/lnmp/nginx/fcgi

    --http-uwsgi-temp-path=/usr/local/data/lnmp/nginx/uwsgi

    --http-scgi-temp-path=/usr/local/data/lnmp/nginx/scgi

    --with-pcre=/usr/local/data/lnmp/pcre-8.43

    --with-zlib=/usr/local/data/lnmp/zlib-1.2.11

    --with-openssl=/usr/local/data/lnmp/openssl-1.1.1c

    [root@localhost nginx-1.16.0]# make

    [root@localhost nginx-1.16.0]# make install

    3.7.检验安装是否成功

    [root@localhost ~]# ls /usr/local/data/lnmp/nginx

    *配置软链接*

    [root@localhost ~]# ln -s /usr/local/data/lnmp/nginx/sbin/nginx /usr/local/bin/

    [root@localhost ~]# nginx -t

    四、配置修改

    4.1.添加Nginx为系统服务

    [root@localhost ~]# vim /lib/systemd/system/nginx.service

    [Unit]

    Description=nginx

    After=network.target

    [Service]

    Type=forking

    ExecStart=/usr/local/data/lnmp/nginx/sbin/nginx

    ExecReload=/usr/local/data/lnmp/nginx/sbin/nginx -s reload

    ExecStop=/usr/local/data/lnmp/nginx/sbin/nginx -s stop

    PrivateTmp=true

    [Install]

    WantedBy=multi-user.target

    4.2配置nginx.conf文件(访问PHP使用)

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

    *修改nobody为nginx *

    user   nginx nginx;

    *在index后面添加index.php

    #access_log logs/host.access.log main;

    #

    location / {

    root html;

    index index.html index.htm index.php;

    }

    *取消注释和修改SCRIPT_FILENAME后面的文件路径*

    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
    #

    location ~ .php$ {

    root html;

    fastcgi_pass 127.0.0.1:9000;

    fastcgi_index index.php;

    fastcgi_param SCRIPT_FILENAME /usr/local/data/lnmp/nginx/html$fastcgi_script_name;

    include fastcgi_params;

     }

    4.3.常用操作命令

    *设置开机自启*

    [root@localhost ~]# systemctl daemon-reload

    [root@localhost ~]# systemctl enable nginx.service

    *常用命令*

    [root@localhost ~]# systemctl start nginx.service

    [root@localhost ~]# systemctl stop nginx.service

    [root@localhost ~]# systemctl status nginx.service

    [root@localhost ~]# systemctl restart nginx.service

    *重新加载配置文件*

    [root@localhost ~]# nginx -s reload

    五、操作验证

    打开浏览器输入IP访问:

    http://192.168.10.11

    访问Nginx成功后则显示:

    六、Nginx编译参数详解

    *指定安装目录路径*

    ./configure --prefix=/usr/local/data/lnmp/nginx

    *指定可执行文件路径*

    --sbin-path=/usr/local/data/lnmp/nginx/sbin/nginx

    *指定第三方模块的存放路径*

    --modules-path=/usr/local/data/lnmp/nginx/modules

    *指定配置文件路径*

    --conf-path=/usr/local/data/lnmp/nginx/conf/nginx.conf

    *指定错误日志文件路径*

    --error-log-path=/usr/local/data/lnmp/nginx/error/error.log

    *指定PID文件路径*

    --pid-path=/usr/local/data/lnmp/nginx/pid/nginx.pid

    *指定lock文件路径*

    --lock-path=/usr/local/data/lnmp/nginx/lock/nginx.lock

    *指定程序运行时的非特权用户*

    --user=nginx

    *指定程序运行时的非特权用户组*

    --group=nginx

    *启用ngx_http_ssl_module支持*

    --with-http_ssl_module

    *启用ngx_http_flv_module支持*

    --with-http_flv_module

    *启用ngx_http_mp4_module支持*

    --with-http_mp4_module

    *启用ngx_http_stub_status_module支持*

    --with-http_stub_status_module

    *设定access log日志路径*

    --http-log-path=/usr/local/data/lnmp/nginx/access/access.log

    *设定http客户端请求临时文件路径*

    --http-client-body-temp-path=/usr/local/data/lnmp/nginx/client

    *设定http代理临时文件路径*

    --http-proxy-temp-path=/usr/local/data/lnmp/nginx/proxy

    *设定http fastcgi临时文件路径*

    --http-fastcgi-temp-path=/usr/local/data/lnmp/nginx/fcgi

    *设定http uwsgi临时文件路径*

    --http-uwsgi-temp-path=/usr/local/data/lnmp/nginx/uwsgi

    *设定http scgi临时文件路径*

    --http-scgi-temp-path=/usr/local/data/lnmp/nginx/scgi

    *指向pcre库目录*

    --with-pcre=/usr/local/data/lnmp/pcre-8.43

    *指向zlib库目录*

    --with-zlib=/usr/local/data/lnmp/zlib-1.2.11

    *指向openssl库目录*

    --with-openssl=/usr/local/data/lnmp/openssl-1.1.1c

  • 相关阅读:
    浅析如何让 (a === 1 && a === 2 && a === 3) 返回 true
    浅析单点登录的三种实现方式
    浅析瀑布流布局原理及实现方式
    浅析Java中三目运算符可能产生的坑
    【转】IO
    [转]gomonkey学习
    从sha1的计算例子,理解计算机的数据表示?16进制输出?二进制输出??
    [转]Golang第三方包应该如何安装--在线和离线
    【转】goconvey使用
    go import 时 点号 和下划线的区别
  • 原文地址:https://www.cnblogs.com/LuckyHaTech/p/11438965.html
Copyright © 2020-2023  润新知