• CentOS7下安装配置Nginx


    一:安装依赖项

    1.pcre;2.openssl;3.zlib;4.gcc;可直接通过yum安装

    二:创建nginx账户(可以配置nginx.conf的user为此账户)

    useradd nginx -M -s /sbin/nologin

    三:下载并安装

    在官网http://nginx.org/en/download.html下载稳定版的linux安装包,我下的是nginx.1.12.2.tar.gz;

    1.解压此压缩包;2.cd到解压后的目录;3.直接执行./configure即可,不需要额外配置(老版本需要);

    然后会执行配置脚本(configure是一个shell脚本),最后执行完后会输出(个人的):

    Configuration summary
      + using system PCRE library
      + OpenSSL library is not used
      + using system zlib library
    
      nginx path prefix: "/usr/local/nginx"
      nginx binary file: "/usr/local/nginx/sbin/nginx"
      nginx modules path: "/usr/local/nginx/modules"
      nginx configuration prefix: "/usr/local/nginx/conf"
      nginx configuration file: "/usr/local/nginx/conf/nginx.conf"
      nginx pid file: "/usr/local/nginx/logs/nginx.pid"
      nginx error log file: "/usr/local/nginx/logs/error.log"
      nginx http access log file: "/usr/local/nginx/logs/access.log"
      nginx http client request body temporary files: "client_body_temp"
      nginx http proxy temporary files: "proxy_temp"
      nginx http fastcgi temporary files: "fastcgi_temp"
      nginx http uwsgi temporary files: "uwsgi_temp"
      nginx http scgi temporary files: "scgi_temp"

    这个就是默认的配置,可以保存一下以便需要的时候可以快速查阅;

    4.开始真正的安装

    还是在该目录下输入make回车,最终会有一段输出:

    sed -e "s|%%PREFIX%%|/usr/local/nginx|" 
        -e "s|%%PID_PATH%%|/usr/local/nginx/logs/nginx.pid|" 
        -e "s|%%CONF_PATH%%|/usr/local/nginx/conf/nginx.conf|" 
        -e "s|%%ERROR_LOG_PATH%%|/usr/local/nginx/logs/error.log|" 
        < man/nginx.8 > objs/nginx.8

    然后再次输入make install;(make时实际上已经编译好了,这一步主要是根据配置进行一系列的mkdir/cp等命令的执行);

    5.查看安装在哪

    whereis nginx后输出:nginx: /usr/local/nginx

    四:启动、停止nginx

    cd /usr/local/nginx/sbin/
    ./nginx # 启动nginx服务(还可以通过 -c cnfFile 手动指定配置文件的位置,默认在安装目录的conf/nginx.conf),注意,不需要用daemon或nohup或后面加个&,这个程序本身就已经是daemon程序了;
    ./nginx -s quit # 将nginx作为客户端启动并向已启动的nginx服务发送shutdown请求(可通过tcp请求实现)【这几个-s都是signal的意思】
    ./nginx -s stop # 直接杀死nginx服务,可以通过killproc nginx -QUIT实现;
    ./nginx -s reload # 重新加在配置并重启相关组件,但nginx不会重启,类似tomcat的redeploy

    ./nginx -s quit:此方式停止步骤是待nginx进程处理任务完毕进行停止。
    ./nginx -s stop:此方式相当于先查出nginx进程id再使用kill命令强制杀掉进程(可以直接用pidof nginx得到)。

    这里说明一下:sbin下的nginx即是server也是ctl,即启动nginx时如果指定 -s 那么此进程就作为客户端(类似rabbitmqctl)来操作nginx服务,故不能手动用lockfile来限制进程的单例运行;

    查询nginx进程:ps aux|grep nginx(或者ps ef|grep nginx,或者kill -0或者pidof nginx之类的)

    五:重启nginx

    1.先停止再启动(推荐):
    对 nginx 进行重启相当于先停止再启动,即先执行停止命令再执行启动命令。如下:

    ./nginx -s quit(执行完后会有两个nginx进程退出)

    sleep 1

    ./nginx

    六:开机启动

    由于不像redis或mq一样退出时需要做清理工作,nginx可以直接退出,故直接在/etc/rc.d/rc.local文件里添加:/usr/local/nginx/sbin/nginx即可;(前提是你的rc.local有可执行权限,没有可以用chmod配置)

    如果希望nginx退出是quit的形式则可以写个脚本放到init.d目录下,不过关机时并不能完全保证会等nginx主动退出才继续关机;

    注:启动nginx后访问http://localhost/如果出现:Welcome to nginx!。。。说明nginx配置和启动成功(这个文件是nginx/html/index.html);

    部分资料参考:https://www.linuxidc.com/Linux/2016-09/134907.htm

  • 相关阅读:
    python ratelimit使用
    团队怎样去做技术规划
    分词语义提取工具
    今日头条推荐系统
    要选择做有价值的事情
    总结与规划
    性能使用到极限
    流量运营
    Stanford CoreNLP使用需要注意的一点
    七年总结
  • 原文地址:https://www.cnblogs.com/silentdoer/p/8744764.html
Copyright © 2020-2023  润新知