共计 3202 个字符,预计需要花费 9 分钟才能阅读完成。
1.Nginx
1.1. 安装
1.Nginx 的中文维基 http://wiki.codemongers.com/NginxChs 下载 Nginx 0.6.26(开发版)(请下载最新版本号)
2.tar zxvf nginx-0.6.26.tar.gz
3../configure。注意了类似 checking for *** … not found 项,可能是依赖包没有。则须要安装依赖包
4. 缺少 PCRE,yum install pcre 安装。
或者去:http://www.pcre.org/
5. 假设缺少 OpenSSL,yum install libssl-dev,或者去:http://www.openssl.org
6. 假设缺少 zlib,能够 yum install zlib1g,或者 http://www.zlib.net/
7.make & make install
8. 建议安装在 /usr/local/nginx 下
1.2 启动
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
2.FastCGI 开发库安装
2.1 安装 fastcgi 库
下载://www.fastcgi.com/dist/fcgi.tar.gz
./configure
make
make install(须要 root 权限)
2.2 演示样例程序
#include <fcgi_stdio.h>
int main(int argc, char *argv[] )
{
while(FCGI_Accept() >= 0 )
{
FCGI_printf(“Status: 200 OK\r\n”);
FCGI_printf(“Content-Type: text/html\r\n\r\n”);
FCGI_printf(“Hello world in +++++++\n”);
}
return 0;
}
Makefile 编译:
TARGET = 1.cgi
INSTALL_PATH = .
LIBDIRS = -L/usr/local/lib
LIBS += -lfcgi \
CC = gcc
CXX = g++
CXXFLAGES += -Wall -O2
LDFLAGS = -Wl,-R /usr/local/lib
RM = rm -f
CP = cp -f
SOURCES += first-cgi.cpp
OBJECTS = $(SOURCES:.cpp=.o)
.PHONY : all clean
all:$(TARGET)
$(TARGET):$(OBJECTS)
$(CXX) -o $(TARGET) $(OBJECTS) $(LDFLAGS) $(LIBDIRS) $(LIBS)
$(OBJECTS):%.o:%.cpp
$(CXX) -c $(CXXFLAGES) $(INCLUDES) $< -o $@
clean:
-$(RM) $(TARGET) $(OBJECTS)
3.spawn-fcgi
先有必要有这样第一个认识:ngxin 作为一个 webserver,本身并不包括 CGI 的解释器。须要通过一个中间件【比如 php-fpm】来执行 CGI。他们之间的模式大致是:
nginx <– socket –> php-fpm——–>php
那么 nginx 既然要执行 c 写的 CGI 那么也应该有类似 php-fpm 的东西。
baidu, google 了下。发现有一个 spawn-fcgi 的东西。原本是 lighttp 内的 fastcgi 进程管理器
3.1 安装 spawn-fcgi
wget http://www.lighttpd.net/download/lighttpd-1.4.19.tar.gz
tar zxvf lighttpd-1.4.19.tar.gz
cd lighttpd-1.4.19
./configure
make
复制 编译好的 spawn-fcgi 到 nginx 文件夹(须要 root 权限)。非常主要!!。。
cp ./src/spawn-fcgi /usr/local/nginx/sbin/
3.2 启动 spawn-fcgi
#!/bin/bash
DESTDIR=.
HOST=’127.0.0.1′
PORT=’7000′
PROCESSNAME=’1.cgi’
sudo killall -9 $PROCESSNAME
echo “=====killed=====”
RESTART=”sudo /usr/local/nginx/sbin/spawn-fcgi -a $HOST -p $PORT -f $DESTDIR/$PROCESSNAME -F 1″
echo $RESTART
$RESTART
echo “======done======”
ps -ef | grep $PROCESSNAME
4. 配置 nginx.conf
server {
listen 9990;
server_name localhost;
#access_log logs/host.access.log main;
location / {
rewrite ^/(.*)$ localhost;
root html;
index index.html index.htm;
}
location ~ (.*) {
fastcgi_pass 127.0.0.1:7000;
fastcgi_index index.cgi;
fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
include fastcgi_params;
}
最后在浏览器中输入
http://192.168.1.120:9990/1.cgi
192.168.1.120 是我虚拟机的地址
Nginx、Apache 工作原理及 Nginx 为何比 Apache 高效 http://www.linuxidc.com/Linux/2017-03/141896.htm
CentOS 7 下 Nginx 服务器的安装配置 http://www.linuxidc.com/Linux/2017-04/142986.htm
CentOS 上安装 Nginx 服务器实现虚拟主机和域名重定向 http://www.linuxidc.com/Linux/2017-04/142642.htm
CentOS 6.8 安装 LNMP 环境(Linux+Nginx+MySQL+PHP)http://www.linuxidc.com/Linux/2017-04/142880.htm
Nginx 服务的 SSL 认证和 htpasswd 认证 http://www.linuxidc.com/Linux/2017-04/142478.htm
Linux 中安装配置 Nginx 及参数详解 http://www.linuxidc.com/Linux/2017-05/143853.htm
Nginx 日志过滤 使用 ngx_log_if 不记录特定日志 http://www.linuxidc.com/Linux/2014-07/104686.htm
CentOS 7.2 下 Nginx+PHP+MySQL+Memcache 缓存服务器安装配置 http://www.linuxidc.com/Linux/2017-03/142168.htm
Nginx 的详细介绍 :请点这里
Nginx 的下载地址 :请点这里
本文永久更新链接地址 :http://www.linuxidc.com/Linux/2017-05/143972.htm