编译安装 Nginx 1.16==============================
Nginx 首先使用yum工具补充 相关的依赖程序:===============================================
想要编译软件,首先安装 GCC 编译器及其相关组件,
yum install gcc
1、zlib:用于支持gzip模块
2、pcre:用于支持rewrite模块,支持正则表达式
3、openssl:用于支持ssl功能
使用yum安装zlib、pcre、openssl 等软件包
[root@www ~]# yum install gcc zlib zlib-devel pcre pcre-devel openssl openssl-devel
解压:nginx-1.16.1.tar.gz,编译参数如下。
./configure --user=nginx --group=nginx --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_sub_module --with-http_ssl_module --with-pcre
[root@nginx-4 nginx]# ll
总用量 36
drwxr-xr-x 2 root root 4096 1月 26 09:55 conf ##主配置文件所在
drwxr-xr-x 2 root root 4096 1月 26 09:55 html ##默认网站主页目录
drwxr-xr-x 2 root root 4096 1月 25 18:01 logs ##日志相关
drwxr-xr-x 2 root root 4096 1月 25 14:37 sbin ##主应用程序
创建Nginx 运行用户:========================================
[root@nginx-4 nginx]#groupadd -g 66 nginx
[root@nginx-4 nginx]#useradd -g nginx -u 66 -M -s /sbin/nologin nginx
启动服务:========================================
语法检查:
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
启动nginx:/usr/local/nginx/sbin/nginx
快速停止nginx:/usr/local/nginx/sbin/nginx -s stop;
优雅停止nginx(会将正在处理中的请求处理完毕):/usr/local/nginx/sbin/nginx -s quit;
重新加载配置:/usr/local/nginx/sbin/nginx -s reload;
查看编译参数: /usr/local/nginx/sbin/nginx -V
[root@nginx-4 nginx]# netstat -ntl 验证80端口是否打开。
默认站点目录: /usr/local/nginx/html
CGI = Common Gateway Interface顾名思义,它是一种接口规范。该规范详细定义了Web服务器中运行的服务器代理程序,
怎样获取及返回网页生成过程中,服务器环境上下文和HTTP协议中的参数名称,
如大家所熟知的:REQUEST_METHOD,QUERY_STRING,CONTENT_TYPE等等。
绝大部分的Web服务器程序,是以脚本的形式代理接受并处理HTTP请求,返回HTTP页面或响应。这些脚本程序,就是大家所熟知的PHP、ASP、JSP等等。
php-fpm
FCGI = Fast CGI它其实是CGI在具体实现中的的一个变种。其设计思路是,通过减少CGI代理程序和Web宿主服务程序的通信开销,
从而达到提高Web服务性能的最终目的。由此可见,FCGI在规范上跟CGI并没有不同,
只是具体实现方式上有所改进:
CGI的做法是,对于每个HTTP请求,Web宿主服务程序都建立新的进程以调用服务器脚本,响应该请求;
FCGI的做法是,建立一个独立的FCGI服务程序进程,和 Web宿主服务程序进程通信,FCGI服务进程被一旦启动后,
自己分配资源、创建线程响应 HTTP请求、并决定自身生命周期,从而大大降低了系统为了创建进程而做出的资源开销。
现代流行的Web服务器程序,如PHP、ASP.Net,基本都是FCGI的实现。
SCGI = Simple CGI它是FCGI在精简数据协议和响应过程后的产物。其设计目的是为了适应越来越多基于AJAX或REST的HTTP请求,
而做出更快更简洁的应答。并且SCGI约定,当服务器返回对一个HTTP协议请求响应后,立刻关闭该HTTP连接。
所以不难看出,SCGI更加适合于普遍意义上SOA所提倡的“请求-忘记”这种通信模式。
WSGI = Web Server Gateway Interface此协议是Python语言的专利,它定义了一组在Web服务宿主程序和HTTP响应代理程序之间通信的普遍适用的接口。
它的产生是因为Python程序员注意到,对于Web框架和Web宿主服务器程序间,有严重的耦合性,