Linux运维学习笔记:nginx系列之01:nginx源码包安装实验

Linux运维学习笔记:nginx系列之01:nginx源码包安装实验

作者:周少言
2017年 12月 18日 星期一 ,于北京

声明:本博客是本人周少言在某培训机构学习期间所写,其中参考借鉴了他人的博客,本文将会选择性给出相关链接,如有侵权,恳请告知。本文如有错误,恳请告知,欢迎交流。

参考连接

安装依赖包

yum -y install gcc-c++  pcre pcre-devel zlib zlib-devel  openssl openssl-devel

添加用户名

useradd -M -s /sbin/nologin nginx

安装

准备资源

下载nginx源码包,本文实验所用源码包版本是nginx-1.2.6.tar.gz.
下载nginx启动脚本
链接:https://pan.baidu.com/s/1eTFWyCM 密码:06zh

#!/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)
     $PROG -t &> /dev/null
     if [ $? -eq 0 ] ; then
        $PROG
        echo "Nginx Service Start Success."
     else
        $PROG -t
     fi
        ;;
    stop)
     kill -s QUIT $(cat $PIDF)
     echo "Nginx Service Stop Success."
     ;;
    restart)
     $0 stop
     $0 start
     ;;
    reload)
     $PROG -t &> /dev/null
     if [ $? -eq 0 ] ; then
        kill -s HUP $(cat $PIDF)
        echo "Reload Nginx Config Success."
     else
        $PROG -t
     fi
        ;;
    *)
     echo "请在 Nginx + ( start / stop / restart / reload )"
     exit 1
esac

用lrzsz将两文件拖拽到/root目录下

安装

tar  xf  /root/nginx-1.2.6.tar.gz 
cd  nginx-1.2.6
./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module --with-http_ssl_module 
make  &&  make install

简单配置

nginx启动脚本

cp -a /root/nginx /etc/init.d/   
chmod 777 /etc/init.d/nginx  
service nginx start           
chkconfig --add nginx         
chkconfig nginx on            

拷贝 Nginx 启动脚本到 /etc/init.d/ 目录下
给 Nginx 启动脚本赋予权限
开启 Nginx 服务
将 Nginx 服务添加至启动自启管理中
设置 Nginx 开机自启动

(**小提示:为了提高效率,可以将本文贴出的每一个代码块整体复制粘贴在xshell上,命令将会逐条执行。)

说明: 至此 Nginx 的安装已经完成, Nginx 的配置文件的路径在安装目录的 conf/ 下, 与 Apache 的主程序 httpd 类似, Nginx 的主程序也提供了 -t 的选项来用来对配置文件进行检查。

nginx服务管理,可网上获取,或者参考:nginx启动脚本

通过 nginx 脚本来启动、 停止、 重启 Nginx 服务器

service nginx start 
service nginx stop 
service nginx restart 
service nginx reload

检查成功方式: 通过浏览器访问你的机器的 IP 地址, 出现 Welcome to nginx ! 即成功

报错

如果出现了以下报错

[root@localhost ~]# service nginx start 
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)
nginx: [emerg] still could not bind()
Nginx Service Start Success.

则是80端口被占用

解决办法

netstat -tlunp |grep :80
pkill httpd   
chkconfig httpd off

根据netstat返回的结果杀死占用80端口的进程或者正常关闭apache/httpd

你可能感兴趣的:(Linux运维学习笔记:nginx系列之01:nginx源码包安装实验)