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

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

查看ngin进程和端口号
[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`)

step4:创建nginx启动脚本
#!/bin/bash
# chkconfig: – 18 21
# description: http service.
# Source Function Library
. /etc/init.d/functions
# Nginx Settings
 
NGINX_SBIN=”/usr/sbin/nginx”
NGINX_CONF=”/etc/nginx/nginx.conf”
NGINX_PID=”/var/run/nginx.pid”
RETVAL=0
prog=”Nginx”
 
#Source networking configuration
. /etc/sysconfig/network
# Check networking is up
[ ${NETWORKING} = “no” ] && exit 0
[ -x $NGINX_SBIN ] || exit 0
 
start() {
        echo -n $”Starting $prog: “
        touch /var/lock/subsys/nginx
        daemon $NGINX_SBIN -c $NGINX_CONF
        RETVAL=$?
        echo
        return $RETVAL
}
 
stop() {
        echo -n $”Stopping $prog: “
        killproc -p $NGINX_PID $NGINX_SBIN -TERM
        rm -rf /var/lock/subsys/nginx /var/run/nginx.pid
        RETVAL=$?
        echo
        return $RETVAL
}
 
reload(){
        echo -n $”Reloading $prog: “
        killproc -p $NGINX_PID $NGINX_SBIN -HUP
        RETVAL=$?
        echo
        return $RETVAL
}
 
restart(){
        stop
        start
}
 
configtest(){
    $NGINX_SBIN -c $NGINX_CONF -t
    return 0
}
 
case “$1” in
  start)
        start
        ;;
  stop)
        stop
        ;;
  reload)
        reload
        ;;
  restart)
        restart
        ;;
  configtest)
        configtest
        ;;
  *)
        echo $”Usage: $0 {start|stop|reload|restart|configtest}”
        RETVAL=1
esac
 
exit $RETVAL

设置开机启动
[root@www ~]# chmod 755 /etc/init.d/nginx
[root@www ~]# chkconfig –add nginx
[root@www ~]# chkconfig nginx on
[root@www ~]# service nginx stop
Stopping nginx (via systemctl):                            [  OK  ]
[root@www ~]# service nginx start
Starting nginx (via systemctl):                            [  OK  ]

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

step5:测试访问
在浏览器输入http://Your-IP/

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/220271.html<

(0)
运维的头像运维
上一篇2025-04-14 12:06
下一篇 2025-04-14 12:08

相关推荐

  • 个人主题怎么制作?

    制作个人主题是一个将个人风格、兴趣或专业领域转化为视觉化或结构化内容的过程,无论是用于个人博客、作品集、社交媒体账号还是品牌形象,核心都是围绕“个人特色”展开,以下从定位、内容规划、视觉设计、技术实现四个维度,详细拆解制作个人主题的完整流程,明确主题定位:找到个人特色的核心主题定位是所有工作的起点,需要先回答……

    2025-11-20
    0
  • 社群营销管理关键是什么?

    社群营销的核心在于通过建立有温度、有价值、有归属感的社群,实现用户留存、转化和品牌传播,其管理需贯穿“目标定位-内容运营-用户互动-数据驱动-风险控制”全流程,以下从五个维度展开详细说明:明确社群定位与目标社群管理的首要任务是精准定位,需明确社群的核心价值(如行业交流、产品使用指导、兴趣分享等)、目标用户画像……

    2025-11-20
    0
  • 香港公司网站备案需要什么材料?

    香港公司进行网站备案是一个涉及多部门协调、流程相对严谨的过程,尤其需兼顾中国内地与香港两地的监管要求,由于香港公司注册地与中国内地不同,其网站若主要服务内地用户或使用内地服务器,需根据服务器位置、网站内容性质等,选择对应的备案路径(如工信部ICP备案或公安备案),以下从备案主体资格、流程步骤、材料准备、注意事项……

    2025-11-20
    0
  • 如何企业上云推广

    企业上云已成为数字化转型的核心战略,但推广过程中需结合行业特性、企业痛点与市场需求,构建系统性、多维度的推广体系,以下从市场定位、策略设计、执行落地及效果优化四个维度,详细拆解企业上云推广的实践路径,精准定位:明确目标企业与核心价值企业上云并非“一刀切”的方案,需先锁定目标客户群体,提炼差异化价值主张,客户分层……

    2025-11-20
    0
  • PS设计搜索框的实用技巧有哪些?

    在PS中设计一个美观且功能性的搜索框需要结合创意构思、视觉设计和用户体验考量,以下从设计思路、制作步骤、细节优化及交互预览等方面详细说明,帮助打造符合需求的搜索框,设计前的规划明确使用场景:根据网站或APP的整体风格确定搜索框的调性,例如极简风适合细线条和纯色,科技感适合渐变和发光效果,电商类则可能需要突出搜索……

    2025-11-20
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注