【教程】移植web server到Ubuntu就是这么简单!
时间:2022-07-26
本文章向大家介绍【教程】移植web server到Ubuntu就是这么简单!,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
Ubuntu:Ubuntu9.10
目的:移植web server到Ubuntu
window下载thttpd,地址:http://www.acme.com/software/thttpd/
1.上传thttpd到ubuntu,解压,配置,安装
$ tar zxf thttpd-2.27.tar.gz
$ cd thttpd-2.27/
$ ./configure
$ make
$ sudo make install
虽然安装有错,但不影响 将安装thttpd等程序到/usr/local/sbin,同时默认web目录是/usr/local/www 3.创建配置文件thttpd.conf,建议放到/etc目录
$cd /etc
$touch thttpd.conf
$vi thttpd.conf, 内容为:
dir=/usr/local/www #指明WebServer存放网页的根目录路径
user=root #以root用户登录,权利更大
logfile=/var/log/thttpd.log #日志文件
pidfile=/var/run/thttpd.pid #进程临时文件
port=8080 #端口号
cgipat=/cgi-bin/* #声明CGI程序的目录,注意是以dir为根目录的路径
4. 拷贝当前目录下的 index.html文件到web目录
$ sudo cp index.html /usr/local/www
5. 运行web服务器
$sudo thttpd -C /etc/thttpd.conf
6.windows浏览器上输入:http://192.168.1.199:8080(Ubuntu IP为192.168.1.199)
如果看到以下界面,就代表web服务器已经搭建好了
7.当然也可以编写test.c测试CGI程序
vi test.c,内容为:
//file: test.c
#include <stdio.h>
#include <string.h>
int main()
{
printf("Content type: text/htmlnn");
printf("<html>n");
printf("<head><title>CGI</title></head>n");
printf("<body bgcolor="#666666">");
printf("<p>");
printf("<center><H1>This is just a cgi testpage</H1></center>");
printf("</body>n");
printf("</html>n");
fflush(stdout);
return 0;
}
8. 编译test.c生成cgi程序
$ gcc test.c -o test.cgi
9.将 test.cgi拷贝到cgi目录下
$ sudo cp test.cgi /usr/local/www/cgi-bin/
10. 在浏览器上输入192.168.1.199:8080/cgi-bin/test.cgi访问这个cgi程序 看到以下界面就代表cgi程序执行正常
- DeepMind回顾2017年:除了战胜柯洁还有哪些大事
- [认证授权] 1.OAuth2授权
- 机器学习(四)——梯度下降算法解释以及求解
- 在Windows上运行单节点的Cassandra
- Mono技术规格
- 如何站在使用者的角度来设计SDK-微信公众号开发SDK(消息处理)设计之抛砖引玉
- 机器学习(三)——k-近邻算法基础
- 利用Windows性能计数器(PerformanceCounter)监控
- zepto 基础知识(1)
- [C#7] 1.Tuples(元组)
- 防止“rm-rf/”误删除的5种方法
- 基于DotNetOpenAuth实现OpenID 服务提供者
- .NET 和Java 对象 XML序列化 库WOX
- jquery mobile 移动web(6)
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- SpringMVC系列 MVC设计模式介绍+ SpringMVC的作用及其基本使用+组件解析+注解解析
- Spring系列之事务的控制 注解实现+xml实现+事务的隔离等级
- Greenplum集群扩容总结
- Leetcode刷题 237. 删除链表中的节点 两行代码实现
- Leetcode刷题 206. 反转链表 递归迭代两种方法实现
- MySQL索引和查询优化
- Elasticsearch:Index 生命周期管理入门
- springboot面试杀手锏-自动配置原理
- flink 1.11.2 学习笔记(1)-wordCount
- 我是如何开发维护8千多行代码组件的
- 我对JS延迟异步脚本的思考
- 大数据表查询优化 - 表分区
- 日志系统rsync和日志切割logrotate-Linux每日一练(9)
- Canvas 绘制点线相交
- Canvas监测雷达