• CentOS7编译安装Nginx-1.8.1和编译参数


    CentOS7编译安装Nginx-1.8.1和编译参数

    Web服务器Nginx
        LNMP是一组众所周知的Web网站服务器架构环境,即由Linux+Nginx+MySQL+PHP(MySQL有时也指 Mariadb)组合成一个高性能、轻量、稳定、扩展性强的Web网站服务器架构环境。
        Nginx ("engine x") 作为Web服务器软件,是一个轻量级、高性能的HTTP和反向代理服务器,负 载均衡服务器,及电子邮件IMAP/POP3/SMTP 服务器。Nginx性能稳定、功能丰富、运维简单、效率高 、并发能力强、处理静态文件速度快且消耗系统资源极少。

    Nginx的版本
        Nginx版本分为主线版和稳定版,主线版更新速度较快,从官网上看大约一个月更新1-2次,目前 最新主线版已更新到nginx-1.9.10,而官方宣布的最新稳定版则是nginx-1.8.1,and本文就以1.8.1 版为例演示其在CentOS7上的安装和配置过程。Nginx官方网站http://nginx.org/。

    Nginx的依赖程序
    1、zlib:用于支持gzip模块
    2、pcre:用于支持rewrite模块
    3、openssl:用于支持ssl功能
    使用yum安装zlib、pcre、openssl软件包
    1 [root@www ~]# yum install zlib pcre pcre-devel openssl openssl-devel

    Nginx-1.8.1的安装
    step1:创建nginx用户
    创建一个nginx的运行用户
    [root@www ~]# useradd -s /sbin/nologin nginx
    [root@www ~]# id nginx
    uid=1000(nginx) gid=1001(nginx) groups=1001(nginx)

    step2:Nginx编译参数
    --user            指定启动程序所属用户
    --group          指定组
    --prefix          指定安装路径
    --sbin-path    设置nginx二进制文件的路径名
    --conf-path    指定配置文件路径
    --error-log-path    错误日志文件路径
    --http-log-path    指定访问日志文件路径
    --http-client-body-temp-path    设置存储HTTP客户端请求主体的临时文件路径
    --http-proxy-temp-path            设置存储HTTP代理临时文件的路径
    --http-fastcgi-temp-path          设置存储HTTP fastcgi的临时文件的路径
    --pid-path          设置nginx.pid文件路径
    --lock-path        设置nginx.lock文件路径
    --with-openssl    启用SSL
    --with-pcre        启用正则表达式
    --with-http_stub_status_module    安装可以监控nginx状态的模块
    --with-http_ssl_module                启用SSL支持
    --with-http_gzip_static_module    启用gzip压缩

    [root@www nginx-1.8.1]# ./configure
    --user=nginx
    --group=nginx
    --prefix=/opt/nginx
    --sbin-path=/usr/sbin/nginx
    --conf-path=/etc/nginx/nginx.conf
    --error-log-path=/var/log/nginx/error.log
    --http-log-path=/var/log/nginx/access.log
    --http-client-body-temp-path=/tmp/nginx/client_body
    --http-proxy-temp-path=/tmp/nginx/proxy
    --http-fastcgi-temp-path=/tmp/nginx/fastcgi
    --pid-path=/var/run/nginx.pid
    --lock-path=/var/lock/subsys/nginx
    --with-http_stub_status_module
    --with-http_ssl_module
    --with-http_gzip_static_module
    --with-pcre
    --with-http_realip_module
    --with-http_sub_module

    [root@www nginx-1.8.1]# make
    [root@www nginx-1.8.1]# make install

    (我到这一步后输入nginx,提示找不到/tmp/ngnix/client_body/,于是手动mkdir了一个,然后再启动nginx就解决了,记得要用root启动)

    make安装完成使用nginx -V 查看版本和编译参数
    [root@www nginx-1.8.1]# nginx -V 
    nginx version: nginx/1.8.1
    built by gcc 4.8.3 20140911 (Red Hat 4.8.3-9) (GCC) 
    built with OpenSSL 1.0.1e-fips 11 Feb 2013
    TLS SNI support enabled
    configure arguments: --user=nginx --group=nginx --prefix=/opt/nginx --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --http-client-body-temp-path=/tmp/nginx/client_body --http-proxy-temp-path=/tmp/nginx/proxy --http-fastcgi-temp-path=/tmp/nginx/fastcgi --pid-path=/var/run/nginx.pid --lock-path=/var/lock/subsys/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module --with-pcre --with-http_realip_module --with-http_sub_module

    查看nginx进程和端口号(centos7把netstat指令取消了,可以通过yum install net-tools获得,也可以用ss -ntlp | grep nginx)
    [root@www ~]# netstat -ntlp | grep nginx
    tcp        0      0 0.0.0.0:80              0.0.0.0:*              LISTEN      4415/nginx: master

    step3:控制nginx服务的命令
    1、启动:nginx
    2、停止:nginx -s stop
    3、退出:nginx -s quit
    4、重启:nginx -s reopen
    5、重新加载:nginx -s reload
    6、平滑启动:kill -HUP pid(kill -HUP `cat /var/run/nginx.pid`)

    设置防火墙规则,允许外部访问80端口
    [root@www ~]# firewall-cmd --permanent --add-port=80/tcp
    [root@www ~]# firewall-cmd --reload

    step4:测试访问

     浏览器输入localhost或者本机ip地址

    step5:开机自启

    若是根据本文编译参数编译的nginx,那么在/etc/profile文件中添加nginx即可,这个文件中的指令会在开机自动运行

    若是根据默认参数编译的nginx,则在/etc/profile文件中添加/usr/local/nginx/sbin/nginx(或者添加export PATH=/usr/local/nginx/sbin:$PATH &&nginx   这样在开机添加了环境变量,输入指令nginx时会首先到/usr/local/nginx/sbin中去寻找)

    注:etc/profile中的指令会在开机自动输入

     

    本文参考:http://www.linuxidc.com/Linux/2016-03/129303.htm

  • 相关阅读:
    分页插件加MVC
    在ASP.NET MVC中,有使用angularjs
    EF比较权威的一篇
    WEBFORM中添加bootstrap套件
    MVC统一设置命名空间
    重新生成索引及重新组织索引
    Dapper.Contrib.Extensions问题
    API Test WebApiTestClient工具安装及使用
    API Test Postman接口测试之高级篇2
    API Test Postman接口测试之高级篇1
  • 原文地址:https://www.cnblogs.com/yaohunzhanyue/p/5363379.html
Copyright © 2020-2023  润新知