目录

1 nginx安装

2 nginx启停

我发现很多博客排版杂乱,表达不清,读者看了往往云里雾里。我此前的博客也是如此,我自己很不满意。今起,每一篇博客都会用心写,此前的博客我也会尽力修改。至少要做到排版整洁,让自己满意,让别人能看懂。

1 nginx安装

1.1 安装的环境及版本

环境:centos7(安装教程也适用于centos6)    版本:nginx/1.12.0   安装的方式:编译安装(配置yum源安装也可以,但本次忽略)

1.2 安装

(1)安装Nginx所需要的pcre库

  nginx重写功能会用到这个包。

  1. # yum install pcre pcre-devel –y

(2)安装openssl-devel模块

  Nginx在使用https服务时要使用这个模块,不安装openssl相关的包,安装Nginx过程会报错。

  1. # yum install openssl openssl-devel

(3) 安装Nginx

1)创建nginx下载后的存放目录

  1. # mkdir –p /data/liuyouyuan
  2. # cd /data/liuyouyuan/

2)下载并解压

  1. # wget http://nginx.org/download/nginx-1.12.0.tar.gz
  2. # tar zxvf nginx-1.12.0.tar.gz
  3. # cd nginx-1.12.0/

3)生成Makefile,编译并安装

补充:./configure 可选项。

  1. --help print this message
  2.  
  3. --prefix=PATH set installation prefix 默认安装路径
  4. --sbin-path=PATH set nginx binary pathname nginx主程序安装路径
  5. --modules-path=PATH set modules path
  6. --conf-path=PATH set nginx.conf pathname 主配置文件安装路径
  7. --error-log-path=PATH set error log pathname
  8. --pid-path=PATH set nginx.pid pathname
  9. --lock-path=PATH set nginx.lock pathname
  10.  
  11. --user=USER set non-privileged user for worker processes 启动后用那个普通用户运行worker进程
  12. --group=GROUP set non-privileged group for worker processes
  13.  
  14. --build=NAME set build name
  15. --builddir=DIR set build directory
  16.  
  17. --with-select_module enable select module
  18. --without-select_module disable select module
  19. --with-poll_module enable poll module
  20. --without-poll_module disable poll module
  21.  
  22. --with-threads enable thread pool support
  23.  
  24. --with-file-aio enable file AIO support
  25.  
  26. --with-http_ssl_module enable ngx_http_ssl_module 启用https支持模块
  27. --with-http_v2_module enable ngx_http_v2_module
  28. --with-http_realip_module enable ngx_http_realip_module
  29. --with-http_addition_module enable ngx_http_addition_module
  30. --with-http_xslt_module enable ngx_http_xslt_module
  31. --with-http_xslt_module=dynamic enable dynamic ngx_http_xslt_module
  32. --with-http_image_filter_module enable ngx_http_image_filter_module
  33. --with-http_image_filter_module=dynamic
  34. enable dynamic ngx_http_image_filter_module
  35. --with-http_geoip_module enable ngx_http_geoip_module
  36. --with-http_geoip_module=dynamic enable dynamic ngx_http_geoip_module
  37. --with-http_sub_module enable ngx_http_sub_module
  38. --with-http_dav_module enable ngx_http_dav_module
  39. --with-http_flv_module enable ngx_http_flv_module 支持流媒体
  40. --with-http_mp4_module enable ngx_http_mp4_module
  41. --with-http_gunzip_module enable ngx_http_gunzip_module
  42. --with-http_gzip_static_module enable ngx_http_gzip_static_module 静态文件压缩
  43. --with-http_auth_request_module enable ngx_http_auth_request_module
  44. --with-http_random_index_module enable ngx_http_random_index_module
  45. --with-http_secure_link_module enable ngx_http_secure_link_module
  46. --with-http_degradation_module enable ngx_http_degradation_module
  47. --with-http_slice_module enable ngx_http_slice_module
  48. --with-http_stub_status_module enable ngx_http_stub_status_module http状态页面?
  49.  
  50. --without-http_charset_module disable ngx_http_charset_module
  51. --without-http_gzip_module disable ngx_http_gzip_module
  52. --without-http_ssi_module disable ngx_http_ssi_module
  53. --without-http_userid_module disable ngx_http_userid_module
  54. --without-http_access_module disable ngx_http_access_module
  55. --without-http_auth_basic_module disable ngx_http_auth_basic_module
  56. --without-http_autoindex_module disable ngx_http_autoindex_module
  57. --without-http_geo_module disable ngx_http_geo_module
  58. --without-http_map_module disable ngx_http_map_module
  59. --without-http_split_clients_module disable ngx_http_split_clients_module
  60. --without-http_referer_module disable ngx_http_referer_module
  61. --without-http_rewrite_module disable ngx_http_rewrite_module
  62. --without-http_proxy_module disable ngx_http_proxy_module
  63. --without-http_fastcgi_module disable ngx_http_fastcgi_module
  64. --without-http_uwsgi_module disable ngx_http_uwsgi_module
  65. --without-http_scgi_module disable ngx_http_scgi_module
  66. --without-http_memcached_module disable ngx_http_memcached_module
  67. --without-http_limit_conn_module disable ngx_http_limit_conn_module
  68. --without-http_limit_req_module disable ngx_http_limit_req_module
  69. --without-http_empty_gif_module disable ngx_http_empty_gif_module
  70. --without-http_browser_module disable ngx_http_browser_module
  71. --without-http_upstream_hash_module
  72. disable ngx_http_upstream_hash_module
  73. --without-http_upstream_ip_hash_module
  74. disable ngx_http_upstream_ip_hash_module
  75. --without-http_upstream_least_conn_module
  76. disable ngx_http_upstream_least_conn_module
  77. --without-http_upstream_keepalive_module
  78. disable ngx_http_upstream_keepalive_module
  79. --without-http_upstream_zone_module
  80. disable ngx_http_upstream_zone_module
  81.  
  82. --with-http_perl_module enable ngx_http_perl_module
  83. --with-http_perl_module=dynamic enable dynamic ngx_http_perl_module
  84. --with-perl_modules_path=PATH set Perl modules path
  85. --with-perl=PATH set perl binary pathname
  86.  
  87. --http-log-path=PATH set http access log pathname
  88. --http-client-body-temp-path=PATH set path to store http client request body temporary files 客户端传文件的临时存放路径
  89. --http-proxy-temp-path=PATH set path to store http proxy temporary files 从代理服务器取来的数据临时存放路径
  90. --http-fastcgi-temp-path=PATH set path to store
  91. http fastcgi temporary files
  92. --http-uwsgi-temp-path=PATH set path to store
  93. http uwsgi temporary files
  94. --http-scgi-temp-path=PATH set path to store
  95. http scgi temporary files
  96.  
  97. --without-http disable HTTP server
  98. --without-http-cache disable HTTP cache
  99.  
  100. --with-mail enable POP3/IMAP4/SMTP proxy module
  101. --with-mail=dynamic enable dynamic POP3/IMAP4/SMTP proxy module
  102. --with-mail_ssl_module enable ngx_mail_ssl_module
  103. --without-mail_pop3_module disable ngx_mail_pop3_module
  104. --without-mail_imap_module disable ngx_mail_imap_module
  105. --without-mail_smtp_module disable ngx_mail_smtp_module
  106.  
  107. --with-stream enable TCP/UDP proxy module
  108. --with-stream=dynamic enable dynamic TCP/UDP proxy module
  109. --with-stream_ssl_module enable ngx_stream_ssl_module
  110. --with-stream_realip_module enable ngx_stream_realip_module
  111. --with-stream_geoip_module enable ngx_stream_geoip_module
  112. --with-stream_geoip_module=dynamic enable dynamic ngx_stream_geoip_module
  113. --with-stream_ssl_preread_module enable ngx_stream_ssl_preread_module
  114. --without-stream_limit_conn_module disable ngx_stream_limit_conn_module
  115. --without-stream_access_module disable ngx_stream_access_module
  116. --without-stream_geo_module disable ngx_stream_geo_module
  117. --without-stream_map_module disable ngx_stream_map_module
  118. --without-stream_split_clients_module
  119. disable ngx_stream_split_clients_module
  120. --without-stream_return_module disable ngx_stream_return_module
  121. --without-stream_upstream_hash_module
  122. disable ngx_stream_upstream_hash_module
  123. --without-stream_upstream_least_conn_module
  124. disable ngx_stream_upstream_least_conn_module
  125. --without-stream_upstream_zone_module
  126. disable ngx_stream_upstream_zone_module
  127.  
  128. --with-google_perftools_module enable ngx_google_perftools_module
  129. --with-cpp_test_module enable ngx_cpp_test_module
  130.  
  131. --add-module=PATH enable external module
  132. --add-dynamic-module=PATH enable dynamic external module
  133.  
  134. --with-compat dynamic modules compatibility
  135.  
  136. --with-cc=PATH set C compiler pathname
  137. --with-cpp=PATH set C preprocessor pathname
  138. --with-cc-opt=OPTIONS set additional C compiler options
  139. --with-ld-opt=OPTIONS set additional linker options
  140. --with-cpu-opt=CPU build for the specified CPU, valid values:
  141. pentium, pentiumpro, pentium3, pentium4,
  142. athlon, opteron, sparc32, sparc64, ppc64
  143.  
  144. --without-pcre disable PCRE library usage
  145. --with-pcre force PCRE library usage
  146. --with-pcre=DIR set path to PCRE library sources
  147. --with-pcre-opt=OPTIONS set additional build options for PCRE
  148. --with-pcre-jit build PCRE with JIT compilation support
  149.  
  150. --with-zlib=DIR set path to zlib library sources
  151. --with-zlib-opt=OPTIONS set additional build options for zlib
  152. --with-zlib-asm=CPU use zlib assembler sources optimized
  153. for the specified CPU, valid values:
  154. pentium, pentiumpro
  155.  
  156. --with-libatomic force libatomic_ops library usage
  157. --with-libatomic=DIR set path to libatomic_ops library sources
  158.  
  159. --with-openssl=DIR set path to OpenSSL library sources
  160. --with-openssl-opt=OPTIONS set additional build options for OpenSSL
  161.  
  162. --with-debug enable debug logging

. ./configure选项

编译安装命令:

  1. # ./configure --user=nginx --group=nginx --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
  2. # make
  3. # make install

4)创建软连接

  1. # ln -s /usr/local/nginx/sbin/nginx /usr/bin/nginx

5)安装成功验证

  1. # nginx -v

如:

备注:我们在执行命令完成后都应该验证一下。

2 nginx启停

2.1 启停总结

  前提:(1)nginx的根目录为/usr/local/nginx;(2)/usr/loacla/nginx/sbin/nginx软连接--->/usr/bin/nginx

  1. # nginx 按默认配置启动
  2. # nginx –c file.conf(接配置文件) 标准启动*****
  3.  
  4. # kill -QUIT 主进程号 从容停止
  5. # kill -TERM 主进程号 快速停止
  6. # pkill -9 nginx 强制停止*****
  7. # killall -9 nginx 停止所有*****
  8. # kill -信号类型 ‘/usr/nginx/logs/nginx.pid’ 这样停止也可以
  9.  
  10. # kill -HUP 主进程号/进程号文件路径 平滑重启
  11. # /usr/nginx/sbin/nginx -s reload 平滑重启**
  12.  
  13. # nginx -t -c /usr/local/nginx/conf/nginx.conf 验证配置语法
  14. # /usr/local/nginx/sbin/nginx -t 验证配置语法*****
  15.  
  16. # 不常用的平滑升级:
  17.  
  18. # kill -USR2 旧版程序的主进程号或进程文件名
  19. # 此时旧的Nginx主进程将会把自己的进程文件改名为.oldbin,然后执行新版 Nginx。新旧Nginx会同市运行,共同处理请求。
  20.  
  21. # kill -WINCH 旧版主进程号
  22. # 慢慢旧的工作进程就都会随着任务执行完毕而退出,新版的Nginx的工作进程会逐渐取代旧版工作进程。
  23.  
  24. # kill -HUP 旧/新版主进程号 不重载配置启动新/旧工作进程
  25. # kill -QUIT 旧/新主进程号 从容关闭旧/新进程
  26. # kill -TERM 旧/新工作进程号 上步命令如果提示还有进程没有结束就用这个命令先关闭旧/新工作进程,再关闭主进程号

查看帮助信息:

  1. [root@liuyouyuan HuJinLogDownload]# /usr/local/nginx/sbin/nginx -h
  2. nginx version: nginx/1.12.
  3. Usage: nginx [-?hvVtTq] [-s signal] [-c filename] [-p prefix] [-g directives]
  4.  
  5. Options:
  6. -?,-h : this help
  7. -v : show version and exit
  8. -V : show version and configure options then exit
  9. -t : test configuration and exit
  10. -T : test configuration, dump it and exit
  11. -q : suppress non-error messages during configuration testing
  12. -s signal : send signal to a master process: stop, quit, reopen, reload
  13. -p prefix : set prefix path (default: /usr/local/nginx/)
  14. -c filename : set configuration file (default: conf/nginx.conf)
  15. -g directives : set global directives out of configuration file

nginx的配置不是三言两语就能说明白,所以我打算另外写一到两篇博客来描述。

Nginx(一)安装及启停的更多相关文章

  1. nginx和php-fpm的启停和配置

    一.nginx的启停 (1) 启动nginx /etc/init.d/nginx start (2) 停止nginx /etc/init.d/nginx stop (3) 重启nginx /etc/i ...

  2. nginx的自动化安装和启停脚本

    个人原创,转载请注明出处和作者,否则依法追究法律责任 author: headsen chen date:  2018-03-07  14:39:11 nginx_install.sh #!/bin/ ...

  3. Redis(一) redis安装、启停

    Redis是开源的内存数据存储,常被用作为内存数据库.缓存.全局队列.计数器等等. Redis安装 Redis分为多种模式:单机模式.高可用模式.集群模式.这篇中主要简介单机版的安装方式. 源码构建式 ...

  4. 2.3 Nginx服务的启停控制

    在Linux平台下,控制Nginx服务的启停有多种方法 2.3.1 Nginx服务的信号控制 在Nginx服务的启停办法中,有一类是通过信号机制来实现的,Nginx服务器的信号控制如下: Nginx服 ...

  5. nginx启停脚本

    安装nginx时,源码包中未带官方的启动脚本,也就无法使用service nginxd start这种启动方式,查了下资料自己写了一个: #!/bin/bash #@version: #@author ...

  6. nginx 启停命令

    nginx 启停配置 #!/bin/sh # # nginx Startup script for nginx # # chkconfig: - 85 15 # processname: nginx ...

  7. redis安装、配置、启停

    Redis is an open source (BSD licensed), in-memory data structure store, used as database, cache and ...

  8. nginx之启停操作及配置文件语法检测

    nginx的启停操作 ----nginx  启动 ----nginx -s stop 停止 ----nginx -s reload 重新加载 nginx -t 修改配置文件之后进行语法检验

  9. 2、Redis如何配置成一个windows服务并且设置一键安装卸载与启停

    每天启动redis虽然只是一个命令行的事情,但是还是比较烦,所以…… 参考文档:Windows Service Documentation.docx 默认前提:Redis已安装并配置完成(不知道如何配 ...

随机推荐

  1. 移动端与PC端的viewport

    第一种解析: 设备像素,就是我们直觉上觉得"靠谱"的像素,这些像素为所使用的各种设备提供了正规的分辨率,并且其值可以通过(通常情况下)从screen.width/height属性中 ...

  2. Delphi for iOS开发指南(3):创建一个FireMonkey iOS应用程序

    http://cache.baiducontent.com/c?m=9d78d513d9d431a94f9d92697d60c015134381132ba1d0020fa48449e3732b4b50 ...

  3. golang array, slice, string笔记

    本来想写一篇关于golang io的笔记,但是在学习io之前必须了解array, slice, string概念,因此将在下篇写golang io.   array: 数组的长度是该数组类型的一部分, ...

  4. [ACM_数据结构] POJ2352 [树状数组稍微变形]

    Description Astronomers often examine star maps where stars are represented by points on a plane and ...

  5. python 判断是否为中文

    python在执行代码过程是不知道这个字符是什么意思的.是否是中文,而是把所有代码翻译成二进制也就是000111这种形式,机器可以看懂的语言. 也就是在计算机中所有的字符都是有数字来表示的.汉字也是有 ...

  6. CSS盒子坍塌问题的4种解决方案

    一.问题重述 嗯,这个就是坍塌的盒子了.外部盒子本应该包裹住内部的两个浮动盒子,结果却没有. 二.问题出现的原因 3个盒子都只设置了width,而没有规定height,内部两个盒子分别设置了左右浮动. ...

  7. CF 798B 渣渣题

    题目链接:http://codeforces.com/contest/798/problem/B 此题是我打河工大校赛前一晚熬夜打CF时硬肛过去的B题,今天补题时,偶然看到dalao的代码,ORZ,s ...

  8. Java直接内存与非直接内存性能测试

    什么是直接内存与非直接内存 根据官方文档的描述: A byte buffer is either direct or non-direct. Given a direct byte buffer, t ...

  9. 消息队列 MQ 入门理解

    功能特性: 应用场景: 消息队列 MQ 可应用于如下几个场景: 分布式事务 在传统的事务处理中,多个系统之间的交互耦合到一个事务中,响应时间长,影响系统可用性.引入分布式事务消息,交易系统和消息队列之 ...

  10. JAVA并发编程学习笔记------结构化并发应用程序

    1. Executor基于生产者-消费者模式,提交任务的操作相当于生产者,执行任务的线程相当于消费者,如果要在程序中实现一个生产者-消费者的设计,最简单的方式通常就是使用Executor 2. Exe ...