目录
1 nginx安装
2 nginx启停
我发现很多博客排版杂乱,表达不清,读者看了往往云里雾里。我此前的博客也是如此,我自己很不满意。今起,每一篇博客都会用心写,此前的博客我也会尽力修改。至少要做到排版整洁,让自己满意,让别人能看懂。
1 nginx安装
1.1 安装的环境及版本
环境:centos7(安装教程也适用于centos6) 版本:nginx/1.12.0 安装的方式:编译安装(配置yum源安装也可以,但本次忽略)
1.2 安装
(1)安装Nginx所需要的pcre库
nginx重写功能会用到这个包。
# yum install pcre pcre-devel –y
(2)安装openssl-devel模块
Nginx在使用https服务时要使用这个模块,不安装openssl相关的包,安装Nginx过程会报错。
# yum install openssl openssl-devel
(3) 安装Nginx
1)创建nginx下载后的存放目录
# mkdir –p /data/liuyouyuan # cd /data/liuyouyuan/
2)下载并解压
# wget http://nginx.org/download/nginx-1.12.0.tar.gz # tar zxvf nginx-1.12.0.tar.gz # cd nginx-1.12.0/
3)生成Makefile,编译并安装
补充:./configure 可选项。
--help print this message --prefix=PATH set installation prefix 默认安装路径 --sbin-path=PATH set nginx binary pathname nginx主程序安装路径 --modules-path=PATH set modules path --conf-path=PATH set nginx.conf pathname 主配置文件安装路径 --error-log-path=PATH set error log pathname --pid-path=PATH set nginx.pid pathname --lock-path=PATH set nginx.lock pathname --user=USER set non-privileged user for worker processes 启动后用那个普通用户运行worker进程 --group=GROUP set non-privileged group for worker processes --build=NAME set build name --builddir=DIR set build directory --with-select_module enable select module --without-select_module disable select module --with-poll_module enable poll module --without-poll_module disable poll module --with-threads enable thread pool support --with-file-aio enable file AIO support --with-http_ssl_module enable ngx_http_ssl_module 启用https支持模块 --with-http_v2_module enable ngx_http_v2_module --with-http_realip_module enable ngx_http_realip_module --with-http_addition_module enable ngx_http_addition_module --with-http_xslt_module enable ngx_http_xslt_module --with-http_xslt_module=dynamic enable dynamic ngx_http_xslt_module --with-http_image_filter_module enable ngx_http_image_filter_module --with-http_image_filter_module=dynamic enable dynamic ngx_http_image_filter_module --with-http_geoip_module enable ngx_http_geoip_module --with-http_geoip_module=dynamic enable dynamic ngx_http_geoip_module --with-http_sub_module enable ngx_http_sub_module --with-http_dav_module enable ngx_http_dav_module --with-http_flv_module enable ngx_http_flv_module 支持流媒体 --with-http_mp4_module enable ngx_http_mp4_module --with-http_gunzip_module enable ngx_http_gunzip_module --with-http_gzip_static_module enable ngx_http_gzip_static_module 静态文件压缩 --with-http_auth_request_module enable ngx_http_auth_request_module --with-http_random_index_module enable ngx_http_random_index_module --with-http_secure_link_module enable ngx_http_secure_link_module --with-http_degradation_module enable ngx_http_degradation_module --with-http_slice_module enable ngx_http_slice_module --with-http_stub_status_module enable ngx_http_stub_status_module http状态页面? --without-http_charset_module disable ngx_http_charset_module --without-http_gzip_module disable ngx_http_gzip_module --without-http_ssi_module disable ngx_http_ssi_module --without-http_userid_module disable ngx_http_userid_module --without-http_access_module disable ngx_http_access_module --without-http_auth_basic_module disable ngx_http_auth_basic_module --without-http_autoindex_module disable ngx_http_autoindex_module --without-http_geo_module disable ngx_http_geo_module --without-http_map_module disable ngx_http_map_module --without-http_split_clients_module disable ngx_http_split_clients_module --without-http_referer_module disable ngx_http_referer_module --without-http_rewrite_module disable ngx_http_rewrite_module --without-http_proxy_module disable ngx_http_proxy_module --without-http_fastcgi_module disable ngx_http_fastcgi_module --without-http_uwsgi_module disable ngx_http_uwsgi_module --without-http_scgi_module disable ngx_http_scgi_module --without-http_memcached_module disable ngx_http_memcached_module --without-http_limit_conn_module disable ngx_http_limit_conn_module --without-http_limit_req_module disable ngx_http_limit_req_module --without-http_empty_gif_module disable ngx_http_empty_gif_module --without-http_browser_module disable ngx_http_browser_module --without-http_upstream_hash_module disable ngx_http_upstream_hash_module --without-http_upstream_ip_hash_module disable ngx_http_upstream_ip_hash_module --without-http_upstream_least_conn_module disable ngx_http_upstream_least_conn_module --without-http_upstream_keepalive_module disable ngx_http_upstream_keepalive_module --without-http_upstream_zone_module disable ngx_http_upstream_zone_module --with-http_perl_module enable ngx_http_perl_module --with-http_perl_module=dynamic enable dynamic ngx_http_perl_module --with-perl_modules_path=PATH set Perl modules path --with-perl=PATH set perl binary pathname --http-log-path=PATH set http access log pathname --http-client-body-temp-path=PATH set path to store http client request body temporary files 客户端传文件的临时存放路径 --http-proxy-temp-path=PATH set path to store http proxy temporary files 从代理服务器取来的数据临时存放路径 --http-fastcgi-temp-path=PATH set path to store http fastcgi temporary files --http-uwsgi-temp-path=PATH set path to store http uwsgi temporary files --http-scgi-temp-path=PATH set path to store http scgi temporary files --without-http disable HTTP server --without-http-cache disable HTTP cache --with-mail enable POP3/IMAP4/SMTP proxy module --with-mail=dynamic enable dynamic POP3/IMAP4/SMTP proxy module --with-mail_ssl_module enable ngx_mail_ssl_module --without-mail_pop3_module disable ngx_mail_pop3_module --without-mail_imap_module disable ngx_mail_imap_module --without-mail_smtp_module disable ngx_mail_smtp_module --with-stream enable TCP/UDP proxy module --with-stream=dynamic enable dynamic TCP/UDP proxy module --with-stream_ssl_module enable ngx_stream_ssl_module --with-stream_realip_module enable ngx_stream_realip_module --with-stream_geoip_module enable ngx_stream_geoip_module --with-stream_geoip_module=dynamic enable dynamic ngx_stream_geoip_module --with-stream_ssl_preread_module enable ngx_stream_ssl_preread_module --without-stream_limit_conn_module disable ngx_stream_limit_conn_module --without-stream_access_module disable ngx_stream_access_module --without-stream_geo_module disable ngx_stream_geo_module --without-stream_map_module disable ngx_stream_map_module --without-stream_split_clients_module disable ngx_stream_split_clients_module --without-stream_return_module disable ngx_stream_return_module --without-stream_upstream_hash_module disable ngx_stream_upstream_hash_module --without-stream_upstream_least_conn_module disable ngx_stream_upstream_least_conn_module --without-stream_upstream_zone_module disable ngx_stream_upstream_zone_module --with-google_perftools_module enable ngx_google_perftools_module --with-cpp_test_module enable ngx_cpp_test_module --add-module=PATH enable external module --add-dynamic-module=PATH enable dynamic external module --with-compat dynamic modules compatibility --with-cc=PATH set C compiler pathname --with-cpp=PATH set C preprocessor pathname --with-cc-opt=OPTIONS set additional C compiler options --with-ld-opt=OPTIONS set additional linker options --with-cpu-opt=CPU build for the specified CPU, valid values: pentium, pentiumpro, pentium3, pentium4, athlon, opteron, sparc32, sparc64, ppc64 --without-pcre disable PCRE library usage --with-pcre force PCRE library usage --with-pcre=DIR set path to PCRE library sources --with-pcre-opt=OPTIONS set additional build options for PCRE --with-pcre-jit build PCRE with JIT compilation support --with-zlib=DIR set path to zlib library sources --with-zlib-opt=OPTIONS set additional build options for zlib --with-zlib-asm=CPU use zlib assembler sources optimized for the specified CPU, valid values: pentium, pentiumpro --with-libatomic force libatomic_ops library usage --with-libatomic=DIR set path to libatomic_ops library sources --with-openssl=DIR set path to OpenSSL library sources --with-openssl-opt=OPTIONS set additional build options for OpenSSL --with-debug enable debug logging
编译安装命令:
# ./configure --user=nginx --group=nginx --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module # make # make install
4)创建软连接
# ln -s /usr/local/nginx/sbin/nginx /usr/bin/nginx
5)安装成功验证
# nginx -v
如:
备注:我们在执行命令完成后都应该验证一下。
2 nginx启停
2.1 启停总结
前提:(1)nginx的根目录为/usr/local/nginx;(2)/usr/loacla/nginx/sbin/nginx软连接--->/usr/bin/nginx
# nginx 按默认配置启动 # nginx –c file.conf(接配置文件) 标准启动***** # kill -QUIT 主进程号 从容停止 # kill -TERM 主进程号 快速停止 # pkill -9 nginx 强制停止***** # killall -9 nginx 停止所有***** # kill -信号类型 ‘/usr/nginx/logs/nginx.pid’ 这样停止也可以 # kill -HUP 主进程号/进程号文件路径 平滑重启 # /usr/nginx/sbin/nginx -s reload 平滑重启** # nginx -t -c /usr/local/nginx/conf/nginx.conf 验证配置语法 # /usr/local/nginx/sbin/nginx -t 验证配置语法***** # 不常用的平滑升级: # kill -USR2 旧版程序的主进程号或进程文件名 # 此时旧的Nginx主进程将会把自己的进程文件改名为.oldbin,然后执行新版 Nginx。新旧Nginx会同市运行,共同处理请求。 # kill -WINCH 旧版主进程号 # 慢慢旧的工作进程就都会随着任务执行完毕而退出,新版的Nginx的工作进程会逐渐取代旧版工作进程。 # kill -HUP 旧/新版主进程号 不重载配置启动新/旧工作进程 # kill -QUIT 旧/新主进程号 从容关闭旧/新进程 # kill -TERM 旧/新工作进程号 上步命令如果提示还有进程没有结束就用这个命令先关闭旧/新工作进程,再关闭主进程号
查看帮助信息:
[root@liuyouyuan HuJinLogDownload]# /usr/local/nginx/sbin/nginx -h nginx version: nginx/1.12.0 Usage: nginx [-?hvVtTq] [-s signal] [-c filename] [-p prefix] [-g directives] Options: -?,-h : this help -v : show version and exit -V : show version and configure options then exit -t : test configuration and exit -T : test configuration, dump it and exit -q : suppress non-error messages during configuration testing -s signal : send signal to a master process: stop, quit, reopen, reload -p prefix : set prefix path (default: /usr/local/nginx/) -c filename : set configuration file (default: conf/nginx.conf) -g directives : set global directives out of configuration file
nginx的配置不是三言两语就能说明白,所以我打算另外写一到两篇博客来描述。