阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Nginx + FastCGI + Spawn-fcgi + C 架构的Server环境搭建

451次阅读
没有评论

共计 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

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计3202字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

星哥玩云

星哥玩云
星哥玩云
分享互联网知识
用户数
4
文章数
19352
评论数
4
阅读量
8160812
文章搜索
热门文章
星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛NAS-6:抖音视频同步工具,视频下载自动下载保存

星哥带你玩飞牛 NAS-6:抖音视频同步工具,视频下载自动下载保存 前言 各位玩 NAS 的朋友好,我是星哥!...
星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛NAS-3:安装飞牛NAS后的很有必要的操作

星哥带你玩飞牛 NAS-3:安装飞牛 NAS 后的很有必要的操作 前言 如果你已经有了飞牛 NAS 系统,之前...
再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见zabbix!轻量级自建服务器监控神器在Linux 的完整部署指南

再见 zabbix!轻量级自建服务器监控神器在 Linux 的完整部署指南 在日常运维中,服务器监控是绕不开的...
飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛NAS中安装Navidrome音乐文件中文标签乱码问题解决、安装FntermX终端

飞牛 NAS 中安装 Navidrome 音乐文件中文标签乱码问题解决、安装 FntermX 终端 问题背景 ...
星哥带你玩飞牛NAS-2:飞牛配置RAID磁盘阵列

星哥带你玩飞牛NAS-2:飞牛配置RAID磁盘阵列

星哥带你玩飞牛 NAS-2:飞牛配置 RAID 磁盘阵列 前言 大家好,我是星哥之前星哥写了《星哥带你玩飞牛 ...
阿里云CDN
阿里云CDN-提高用户访问的响应速度和成功率
随机文章
星哥带你玩飞牛NAS-14:解锁公网自由!Lucky功能工具安装使用保姆级教程

星哥带你玩飞牛NAS-14:解锁公网自由!Lucky功能工具安装使用保姆级教程

星哥带你玩飞牛 NAS-14:解锁公网自由!Lucky 功能工具安装使用保姆级教程 作为 NAS 玩家,咱们最...
如何安装2026年最强个人助理ClawdBot、完整安装教程

如何安装2026年最强个人助理ClawdBot、完整安装教程

如何安装 2026 年最强个人助理 ClawdBot、完整安装教程 一、前言 学不完,根本学不完!近期,一款名...
免费无广告!这款跨平台AI RSS阅读器,拯救你的信息焦虑

免费无广告!这款跨平台AI RSS阅读器,拯救你的信息焦虑

  免费无广告!这款跨平台 AI RSS 阅读器,拯救你的信息焦虑 在算法推荐主导信息流的时代,我们...
星哥带你玩飞牛 NAS-9:全能网盘搜索工具 13 种云盘一键搞定!

星哥带你玩飞牛 NAS-9:全能网盘搜索工具 13 种云盘一键搞定!

星哥带你玩飞牛 NAS-9:全能网盘搜索工具 13 种云盘一键搞定! 前言 作为 NAS 玩家,你是否总被这些...
星哥带你玩飞牛NAS硬件02:某鱼6张左右就可拿下5盘位的飞牛圣体NAS

星哥带你玩飞牛NAS硬件02:某鱼6张左右就可拿下5盘位的飞牛圣体NAS

星哥带你玩飞牛 NAS 硬件 02:某鱼 6 张左右就可拿下 5 盘位的飞牛圣体 NAS 前言 大家好,我是星...

免费图片视频管理工具让灵感库告别混乱

一言一句话
-「
手气不错
开源MoneyPrinterTurbo 利用AI大模型,一键生成高清短视频!

开源MoneyPrinterTurbo 利用AI大模型,一键生成高清短视频!

  开源 MoneyPrinterTurbo 利用 AI 大模型,一键生成高清短视频! 在短视频内容...
星哥带你玩飞牛NAS-16:不再错过公众号更新,飞牛NAS搭建RSS

星哥带你玩飞牛NAS-16:不再错过公众号更新,飞牛NAS搭建RSS

  星哥带你玩飞牛 NAS-16:不再错过公众号更新,飞牛 NAS 搭建 RSS 对于经常关注多个微...
三大开源投屏神器横评:QtScrcpy、scrcpy、escrcpy 谁才是跨平台控制 Android 的最优解?

三大开源投屏神器横评:QtScrcpy、scrcpy、escrcpy 谁才是跨平台控制 Android 的最优解?

  三大开源投屏神器横评:QtScrcpy、scrcpy、escrcpy 谁才是跨平台控制 Andr...
240 元左右!五盘位 NAS主机,7 代U硬解4K稳如狗,拓展性碾压同价位

240 元左右!五盘位 NAS主机,7 代U硬解4K稳如狗,拓展性碾压同价位

  240 元左右!五盘位 NAS 主机,7 代 U 硬解 4K 稳如狗,拓展性碾压同价位 在 NA...
还在找免费服务器?无广告免费主机,新手也能轻松上手!

还在找免费服务器?无广告免费主机,新手也能轻松上手!

还在找免费服务器?无广告免费主机,新手也能轻松上手! 前言 对于个人开发者、建站新手或是想搭建测试站点的从业者...