源代码编译安装nginx,编译安装的好与坏

  • 源代码编译安装的好处:
    • 可以根据自己的需求进行定制化安装,可以选择需要的功能和配置选项,对于新手来说,可以对服务了解更加具体。
    • 安装时不需要网络,可以进行离线安装
  • 源代码编译安装的坏处:
    • 1.编译和安装的过程相对复杂。
    • 2.安装的时间较长
    • 3.需要手动解决复杂的依赖关系
    • 4由于源代码编译安装不受官方包管理器的管理,升级和卸载可能会更加困难。
  • 1.使用yum安装前提所需软件:
    • yum -y install gcc gcc-c++ make libtool zlib zlib-devel pcre pcre-devel openssl openssl-devel
  • 2.将源代码软件包复制到/usr/src目录下,进行解压和配置安装。
    • 1.挂在光盘:
      • mount /dev/cdrom /mnt/
    • 2.复制光盘中的软件包到/usr/src
      • cp -rp /mnt/nginx-goodies-nginx-sticky-module-ng-08a395c66e42.tar.gz /usr/src/
      • cp -rp /mnt/ngx_cache_purge-2.3.tar.gz /usr/src/
      • cp -rp /mnt/nginx-1.12.0.tar.gz /usr/src/
    • 3.解压,配置安装:
      • 创建一个程序用户:(用于专门的登录和管理nginx,提高安全性)
        • useradd -s /sbin/nologin nginx
      • cd /usr/src/
      • tar xf nginx-goodies-nginx-sticky-module-ng-08a395c66e42.tar.gz
      • tar xf ngx_cache_purge-2.3.tar.gz
      • tar xf nginx-1.12.0.tar.gz
      • cd nginx-1.12.0/ (进入nginx解压后的文件)
      • ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module --with-http_realip_module --with-http_ssl_module --with-http_gzip_static_module --http-client-body-temp-path=/var/tmp/nginx/client --http-proxy-temp-path=/var/tmp/nginx/proxy --http-fastcgi-temp-path=/var/tmp/nginx/fcgi --with-pcre --add-module=../ngx_cache_purge-2.3 --with-http_flv_module --add-module=../nginx-goodies-nginx-sticky-module-ng-08a395c66e42 && make && make install (配置编译和安装)
    • 3.添加nginx为系统服务并启动
      • ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/
      • mkdir -p /var/tmp/nginx/client
      • chown -R nginx:nginx /var/tmp/nginx/ (设置所有组和所有者)
      • 编辑一个启动脚本(nginx启动脚本就是为了方便对nginx服务的启动,关闭,状态查询,热修改的一个脚本文件):
        • vim /etc/init.d/nginx
        • #!/bin/bash
        • # chkconfig: 2345 99 20
        • # description: Nginx Service Control Script
        • PROG="/usr/local/nginx/sbin/nginx"
        • PIDF="/usr/local/nginx/logs/nginx.pid"
        • case "$1" in
        • start)
        • netstat -anplt |grep ":80" &> /dev/null && pgrep "nginx" &> /dev/null
        • if [ $? -eq 0 ]
        • then
          • echo "Nginx service already running."
        • else
          • $PROG -t &> /dev/null
            • if [ $? -eq 0 ] ; then
              • $PROG
              • echo "Nginx service start success."
              • else
              • $PROG -t
            • fi
        • fi
        • ;;
        • stop)
        • netstat -anplt |grep ":80" &> /dev/null && pgrep "nginx" &> /dev/null
        • if [ $? -eq 0 ]
        • then
        • kill -s QUIT $(cat $PIDF)
        • echo "Nginx service stop success."
        • else
        • echo "Nginx service already stop"
        • fi
        • ;;
        • restart)
        • $0 stop
        • $0 start
        • ;;
        • status)
        • netstat -anplt |grep ":80" &> /dev/null && pgrep "nginx" &> /dev/null
        • if [ $? -eq 0 ]
        • then
        • echo "Nginx service is running."
        • else
        • echo "Nginx is stop."
        • fi
        • ;;
        • reload)
        • netstat -anplt |grep ":80" &> /dev/null && pgrep "nginx" &> /dev/null
        • if [ $? -eq 0 ]
        • then
        • $PROG -t &> /dev/null
        • if [ $? -eq 0 ] ; then
        • kill -s HUP $(cat $PIDF)
        • echo "reload Nginx config success."
        • else
        • $PROG -t
        • fi
        • else
        • echo "Nginx service is not run."
        • fi
        • ;;
        • *)
        • echo "Usage: $0 {start|stop|restart|reload}"
        • exit 1
        • esac
      • chmod +x /etc/init.d/nginx (增加执行权限)
      • chkconfig --add nginx (添加系统服务)
      • chkconfig nginx on 设置自启动
      • service nginx start (启动服务)
      • nignx -t 检查配置文件
        • 显示如下次内容则代表配置文件无误
        •  

          源代码编译安装nginx,编译安装的好与坏_第1张图片

      • 访问即可:http://ip
        •  

          源代码编译安装nginx,编译安装的好与坏_第2张图片

        • 显示此页面则恭喜你nginx搭建成功
  • 源代码安装nginx各个主目录存放位置:
    • /usr/local/nginx/ 安装目录
    • /usr/local/nginx/conf/nginx.conf 主要配置文件
    • /usr/local/nginx/html/ 网页根目录
    • /usr/local/nginx/log/ 存放日志的位置 access.log 访问日志 error.log 错误日志

你可能感兴趣的:(服务器,网络,运维,nginx)