2018-01-04 19:39:53 zhougb3 阅读数 15425

对于一个网站开发者而言,在经历了艰难的开发过程后,要将网站推向给用户,必须要做的一步便是部署我们的web应用,这样广大的用户才能成功访问我们的网站。目前主流的部署平台都是基于Linux的。本文将详细讲解使用Linux搭建web服务器的过程。搭建成功之后,可以通过网址:www.zhougb3.cn访问我的个人博客主页。

1.准备工作

为了让用户都可以访问我们的网站,我们需要有一台可以通过外网访问的服务器,这里选用的是腾讯云的服务器,安装的是Ubuntu16.04的系统。这里我们同时注册了域名,这样子用户就可以直接通过域名访问服务器,而不用输入一串生涩难记,毫无规则的IP地址。

2.使用ssh连接远程服务器

SSH 为建立在应用层基础上的安全协议。SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。我们使用ssh连接我们的远端腾讯云服务器,并在远端服务器上进行我们的web应用部署。在这里我们进行连接的本地机器也是Ubuntu16.04系统。ssh分为客户端和服务端,Ubuntu内置了ssh的客户端,通过在远端机器运行ssh服务端,本地就可以通过ssh客户端进行连接了。以下介绍ssh配置的具体操作。首先我们需要在远端服务器上通过命令“sudo apt-get install openssh-server”安装ssh服务端。那么问题来啦,现在我们不是还没有办法连接远端服务器,那又怎么在上面进行操作?其实,我们仍然是可以连接远端服务器的,只是不能通过ssh的方法,虽然不足够安全但是也可以进行操作的。如果购买的是腾讯云服务器,我们可以在腾讯云服务器的控制台登录上服务器,使用我们购买时设置的账号密码即可成功登录。成功在远端服务器上安装ssh后,我们回到我们本地的机器,通过命令“su - user”切换为我们以后想要用来连接远端服务器的本地用户,如果现在本地机器的用户是你想要连接远端机器的用户则不用执行该命令。接着输入命令“ssh-keygen -t rsa”生成密钥文件,在生成的过程中会提示你输入密码,此时我们按Enter键即可。这里设置的密码是用来读取密钥文件的密码,如果设定了之后每次进行ssh连接都需要输入密码才能读取密钥文件,这样就比较麻烦了。命令执行完之后会生成一个公钥文件和一个私钥文件,我们需要将生成的公钥文件拷贝到远端服务器,使用如下命令完成“scp.ssh/id_rsa.pubuser@192.168.1.100:/home/user/”。这里“.ssh/id_rsa.pub”是公钥文件的路径,“user@192.168.1.100”是远端服务器的ip地址和用户名。这里我们又回到了远程机器上,可以发现已经有了公钥文件,这时候我们在远端服务器以下命令“mv/home/user/id_rsa.pub/home/user/.ssh/authorized_keys”,如果没有相应的文件夹则要提前建立。这样子,一切配置就算完成了,我们在远端服务器执行以下命令来开启ssh服务“service sshd start”
然后我们回到本地机器,通过执行命令“ssh user@192.168.1.100”我们就可以成功连接上远端服务器了。这时候我们就可以在本地使用ssh安全地对远程服务器进行操作了,我们首先要做的就是将我们的项目源码拷贝到远端服务器上。
这里要注意远端服务器上的文件夹和文件的权限问题。可以通过以下命令正确设置权限“#chmod700 .ssh”“#chmod 600 authorized_keys”

3.使用Nginx服务

Nginx是一个高性能的HTTP和反向代理服务器,使用Nginx能更好地帮我们处理静态资源文件。使用命令“$ sudo apt-get install nginx”安装Nginx。安装完成之后,需要我们手动编写配置文件并置于“/etc/nginx/sites-available/”文件夹下,然后在/etc/nginx/sites-enabled/目录下创建软链接,使用如下命令链接到我们的配置文件$sudo ln -s /etc/nginx/sites-available/cffilename .。每次修改完配置文件后,使用命令$ sudo /etc/init.d/nginx reload即可重新开启Nginx服务。Nginx配置文件的编写这里就不赘述了,可以查看相关文档学习。主要是编写一个处理静态资源文件还有一个处理动态请求转发的。在设定文件路径时,请使用绝对路径,否则会无法找到文件。Nginx有一个默认的配置文件default,需要把default文件下的root路径注释掉。
使用Nginx同样要注意文件和文件夹的权限问题,否则Nginx可能没有办法读取所需要的静态资源文件。需要读取的文件夹需要有可执行的权限,否则无法进入文件夹进行读文件的操作,对于文件则要有对应的读取权限。

4.使用supervisor管理进程

supervisor是Linux/Unix系统下的一个进程管理工具,不支持Windows系统。它可以很方便的监听、启动、停止、重启一个或多个进程。用Supervisor管理的进程,当一个进程意外被杀死,supervisor监听到进程死后,会自动将它重新拉起,很方便的做到进程自动恢复的功能,而不需要我们自己写脚本控制。对于一个长期运行的web服务器,我们的服务端代码应该一直处于正常运行的状态,使用supervisor来管理我们的服务端代码,能够很好地做到这一点。Supervisor是一个Python工具,通过执行命令“pip install supervisor”来安装,不过在此之前我们的服务器上应该安装有Python和pip包管理工具。安装完成后,我们可以使用命令“supervisord -c /etc/supervisord.conf”来启动服务。
Supervisor安装完成后每次服务器开机时都会自动启动的,不需要我们重复开启,如果重复开启多个运行时会出错,而且报错的信息也多种多样,可能提示端口被占用。supervisor会把配置文件中的进程全部运行。我们可以通过使用命令“ps aux|grep superviosrd”或“ps -ef|grep superviosrd”查看当前运行的服务,如果有重复则使用kill命令杀掉该进程。每次修改完配置文件后要通过命令“sudo supervisorctl reload ”来重新加载服务。正确配置完成后,可以通过命令“netstat -lpnt”来查看监听端口。Supervisor配置文件的编写如果需要路径也要注意采用绝对路径。

5.使用Fabric实现自动化部署

通过ssh连接远程服务器进行操作,使用Nginx和supervisor部署应用,这样子一个能够稳定运行的web服务器就搭建起来了。但是,我们的web应用在运行过程中可能会遇到各种各样的问题,程序员需要对代码进行不断地完善。如果每次修改代码后都要重新手动拷贝一份文件到服务器,然后再重新部署,那这过程一定是相当低效繁琐的,并且大大增加了出错的可能性。聪明的程序员是不会把时间花在重复的机械性操作上的。因此,自动化部署工具应运而生,Fabric则是其中的一个典型代表,Fabric目前只支持Python2,使用命令“pip install fabric”进行安装,Fabric使用了ssh直接登录服务器进行操作。Fabric脚本的编写可以查看相关文档学习,主体的思想便是将在部署时在本地执行的和远程执行的命令写进不同的函数中,每次重新部署时只需要在本地运行函数即可。本地运行的指令和服务器运行的指令对应着不同的命令格式,以此作为区分。

6.使用Git服务器

在使用Fabric进行自动化部署时,我们可能经常会用到Git服务器,将本地代码上传到Git服务器,再在远端服务器拉下代码。很多大公司都会有自己的Git服务器,用于公司内部项目的共同开发。在这里,我们使用github提供给我们的免费平台。使用“sudo apt-get install git”安装git。请注意,git只能跟踪文本文件的改动,对于二进制文件没办法跟踪具体信息。然后我们就可以使用“git init”在本地初始化一个git仓库。至于git仓库下文件的增删改动,版本回退等具体操作这里就不赘述了。这里要讲一下如何连接到远程库。首先需要看看我们本机上是否有SSH Key。如果没有则需要运行命令$ ssh-keygen -t rsa -C "youremail@example.com创建密钥文件。然后在网页上登录我们的github账号,添加SSH Key,将生成的公钥文件复制进去,这样一来就可以实现本机和远程github服务器间的连接了。在我们的github账号上创建一个仓库,然后在本机的仓库目录下执行命令“$ git remote add origin git@github.com:zhougb3/learngit.git”,这里需要替换为你自己的用户名。这样子之后就可以使用push命令上传你的代码到远程github服务器上了。然后在我们的web服务器上,我们就可以通过clone命令从远程库克隆代码了。

7. Linux下用户和权限管理

Linux最优秀的地方便在于它的多人多工环境,而为了让各个使用者拥有较为保密的文件资料,因此文件的权限管理就显得异常重要了。在我们使用Linux的过程中,如果不懂得Linux的基本用户和权限管理,很多时候在执行命令时都会出现问题。特别是在我们搭建web服务器时,没有正确使用好权限配置会导致某些重要文件不可读,从而导致配置失败。Linux一般将用户可存取的身份分为三个类别,分别是owner/group/others,并且三种身份各有read/write/execute等权限。改变文件的权限可以通过使用chmod命令来实现,而改变文件所属的用户信息可以通过chgrp/chown/chown命令来实现。对于目录的读写执行权限需要额外的注意。目录的读权限表明可以对这个目录使用ls目录查看其内容,但只能得到文件名,不能得到详细的信息。write权限表示允许用户改变目录中的内容,即可以在命令中创建、删除、重命名文件,即使用户不是文件的属主。但是不一定有权限能读取文件具体内容。目录的execute权限表示可以使用cd目录进入这个目录(当然前提是能够进入这个目录的上一级目录),进入后可以进行的操作,决定于这个目录中各项内容(即目录中的子目录或文件)的权限设置。此时不能看见文件名,但可以根据文件权限操作文件。请注意,Linux下文件可不可以执行是由权限决定的,我们经常会给文件添加副文件名,但这只是便于我们了解文件的属性。

8. 总结

以上就是在Linux平台上部署web服务器的基本流程,正确高效地部署对于日后网站的长期维护有着极为重要的作用。而对于一个网站开发者而言,熟悉基本的网站部署知识也是很有必要的,有利于开发者写出更为实用高效的代码。正确完成以上部署后,便可以通过网址:www.zhougb3.cn访问我的个人博客。个人博客源码可参考github链接:https://github.com/zhougb3/python_blog

2019-05-31 16:41:41 ljb568838953 阅读数 478

█ 【web学习之服务器】 linux搭建环境

█ 相关文章:

- 
 ● 【web学习之html】 HTML基础 - 常见语法总结
 ● 【web学习之html】 HTML基础 - 表单学习
 ● 【web学习之Js】 JavaScript基础 - 基础语法
 ● 【web学习之demo】 一个Demo的解析
 ● 【web学习之eclipse】 用eclipse从git(码云)上下载maven项目  
 ● 【web学习之服务器】 linux搭建环境

█ 读前说明:

- 
 ● 本文通过学习别人写demo,学习一些课件,参考一些博客,’学习相关知识,如果涉及侵权请告知
 ● 本文只简单罗列相关的代码实现过程
 ● 涉及到的逻辑以及说明也只是简单介绍,主要当做笔记,了解过程而已

█ 上传安装包:

● 先提前上传需要安装的包到服务器/user目录下:
在这里插入图片描述
█ 查看linux的版本:

● 输入cat /proc/version查看当前的linux版本:

[root@ir7Z ~]# cat /proc/version
Linux version 3.10.0-957.5.1.el7.x86_64 (mockbuild@kbuilder.bsys.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC) ) #1 SMP Fri Feb 1 14:54:57 UTC 2019
[root@ir7Z ~]# cat /proc/version
Linux version 3.10.0-957.5.1.el7.x86_64 (mockbuild@kbuilder.bsys.centos.org) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC) ) #1 SMP Fri Feb 1 14:54:57 UTC 2019
[root@ir7Z ~]#

在这里插入图片描述

█ jdk-8u144的安装及环境变量的配置:

● 输入tar -zxvf jdk-8u144-linux-x64.tar.gz进行安装jdk:
在这里插入图片描述

● 输入vi /etc/profile编辑profile文件(全局所有用户):

按下<shift+G>键,跳到最后一行,此时处于正常模式
按下<i, I, a, A>等键,进入插入模式(在底部有提示:-- INSERT --)
复制如下代码粘贴到尾巴处:

JAVA_HOME=/usr/jdk1.8.0_144
PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=$AVA_HOME/jre/lib/ext:$JAVA_HOME/lib/tools.jar
export PATH JAVA_HOME CLASSPATH

按下键(有时需要按两下)进入正常模式
按下:(冒号)键,进入命令模式
输入 :wq 保存文件并退出vi
在这里插入图片描述

● 输入【点命令】source /etc/profile 或者 . /etc/profile 让profile文件立即生效,输入 echo $PATH 查看设置的环境变量是否已生效:

在这里插入图片描述
 PS:每次shell时,只要 source /etc/profile一次,就会在$PATH尾巴处增加export声明的变量,因此如果连续执行两次 source /etc/profile,就会发现环境变量中有两条一样的export声明的变量

● 输入java -version查看下Jdk的版本:

在这里插入图片描述

█ mysql-5.6.31的安装:

● mysql-5.6.31的安装需要先安装gcc与ncurses-devel两个编译工具,再安装CMake工具,最后才能安装Mysql数据库

●  输入 yum install gcc-c++安装gcc编译工具:
 在这里插入图片描述
 ●  输入yum install ncurses-devel安装ncurses-devel编译工具:
在这里插入图片描述
 ●  输入tar -zxvf cmake-3.6.0.tar.gz安装cmake编译工具:

[root@ir7Z usr]# tar -zxvf cmake-3.6.0.tar.gz
[root@ir7Z cmake-3.6.0-rc4]# ./configure
[root@ir7Z cmake-3.6.0-rc4]# make
[root@ir7Z cmake-3.6.0-rc4]# make install

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
 ●  输入vi /etc/profile编辑profile文件(同JDK的环境变量配置一样):

export CMAKE_HOME=/usr/cmake-3.6.0-rc4
export PATH=$PATH:$JAVA_HOME/bin:$ANT_HOME/bin:$MAKE_HOME/bin

在这里插入图片描述

█ 相关资料:

● 1.2014-02-24 CentOS下MYSQL数据库的安装 - 秋风瑟瑟 - CSDN博客
 ● 2.2017-08-05 Linux下MySQL安装 - lucky娜娜 - 博客园

转载请注明出处:

https://blog.csdn.net/ljb568838953/article/details/90718995

2019-07-13 10:44:05 ck784101777 阅读数 301

一、基础知识

      虚拟web主机,指的是在同一台服务器中运行多个web站点,其中的每一个站点实际上并不独自占用整个服务器,可以充分利用服务器的硬件资源,从而大大减低网站构建及运行成本.使用httpd可以非常方便地构建虚拟机主机服务器,只需要运行一个httpd服务就能够同时支撑大量的web站点。

• 虚拟Web主机
– 由同一台服务器提供多个不同的Web站点

• 区分方式
– 基于域名的虚拟主机
– 基于端口的虚拟主机
– 基于IP地址的虚拟主机

• 访问顺序 : IP>端口>域名 

• 配置文件路径
– /etc/httpd/conf/httpd.conf   #主配置文件
– /etc/httpd/conf.d/*.conf     #调用配置文件

 

二、以本机为服务器做测试

   案例:以本机为基础搭建虚拟Web主机,自身访问自身来做测试.测试两个虚拟网址,www.baidu.com,www.google.com.

   0.主机环境

     新建一台虚拟机,ip自由发挥,不需要访问外网.

     我的主机 : 

      主机名 = desktop

      ip = 172.25.0.10

      dns = 172.25.0.10

   [root@desktop0 ~]  firewall-cmd --set-default-zone=trusted  # 防火墙区域设置为trusted

   [root@desktop0 ~]   setenforce 0  #     Selinux 设置为 Permissive

   1.安装httpd环境

    [root@desktop0 ~] yum -y install httpd   #安装http服务

   2.创建被访问网址

    [root@desktop0 ~] mkdir /var/www/html/baidu   #创建访问目录

    [root@desktop0 ~] mkdir /var/www/html/google

    [root@desktop0 ~] echo 'i am google' > /var/www/html/google/index.html  #写两个首页

    [root@desktop0 ~] echo 'i am baidu' > /var/www/html/baidu/index.html

   3.配置虚拟访问文件

    这里要说明一下,httpd的主配置文件是/etc/httpd/conf/http.conf,htpp.conf中中有一条语句表明调用配置文件的conf,语句为:IncludeOptional conf.d/*.conf,含义是调用etc/httpd/conf.d/下的所有以.conf结尾的配置文件,默认采用或字匹配,在该目录下的所有配置文件都会被扫描一遍,选择当前可用的.

   为了降低耦合度,我们不在主配置文件下添加参数,而是通过调用的方式在/etc/httpd/conf.d下创建

    [root@desktop0 ~] vim /etc/httpd/conf.d/virtual.conf   #新建一个配置文件

    <VirtualHost 172.25.0.10>
         ServerName www.google.com
         DocumentRoot /var/www/html/google
    </VirtualHost> 
   <VirtualHost 172.25.0.10>
         ServerName www.baidu.com
         DocumentRoot /var/www/html/baidu
   </VirtualHost>

  添加两个虚拟访问点ServerName代表域名,DocumentRoot代表文件路径,用来存放访问网站的目录,必须写对路径,服务器才能找你要访问的网址

   4.临时域名解析

   [root@desktop0 ~] vim /etc/hosts  #  在末尾追加两条域名解析,以本机ip为主

  172.25.0.10 www.baidu.com
  172.25.0.10 www.google.com

   5.测试

     [root@desktop0 ~] firefox www.baidu.com

     [root@desktop0 ~] firefox www.google.com

   测试成功     

 

2018-11-22 12:53:38 weixin_43744533 阅读数 356

1.准备工作
为了让用户都可以访问我们的网站,我们需要有一台可以通过外网访问的服务器,这里选用的是腾讯云的服务器,安装的是Ubuntu16.04的系统。这里我们同时注册了域名,这样子用户就可以直接通过域名访问服务器,而不用输入一串生涩难记,毫无规则的IP地址。

2.使用ssh连接远程服务器
SSH 为建立在应用层基础上的安全协议。SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。利用 SSH 协议可以有效防止远程管理过程中的信息泄露问题。我们使用ssh连接我们的远端腾讯云服务器,并在远端服务器上进行我们的web应用部署。在这里我们进行连接的本地机器也是Ubuntu16.04系统。ssh分为客户端和服务端,Ubuntu内置了ssh的客户端,通过在远端机器运行ssh服务端,本地就可以通过ssh客户端进行连接了。以下介绍ssh配置的具体操作。首先我们需要在远端服务器上通过命令“sudo apt-get install openssh-server”安装ssh服务端。那么问题来啦,现在我们不是还没有办法连接远端服务器,那又怎么在上面进行操作?其实,我们仍然是可以连接远端服务器的,只是不能通过ssh的方法,虽然不足够安全但是也可以进行操作的。如果购买的是腾讯云服务器,我们可以在腾讯云服务器的控制台登录上服务器,使用我们购买时设置的账号密码即可成功登录。成功在远端服务器上安装ssh后,我们回到我们本地的机器,通过命令“su - user”切换为我们以后想要用来连接远端服务器的本地用户,如果现在本地机器的用户是你想要连接远端机器的用户则不用执行该命令。接着输入命令“ssh-keygen -t rsa”生成密钥文件,在生成的过程中会提示你输入密码,此时我们按Enter键即可。这里设置的密码是用来读取密钥文件的密码,如果设定了之后每次进行ssh连接都需要输入密码才能读取密钥文件,这样就比较麻烦了。命令执行完之后会生成一个公钥文件和一个私钥文件,我们需要将生成的公钥文件拷贝到远端服务器,使用如下命令完成“scp.ssh/id_rsa.pubuser@192.168.1.100:/home/user/”。这里“.ssh/id_rsa.pub”是公钥文件的路径,“user@192.168.1.100”是远端服务器的ip地址和用户名。这里我们又回到了远程机器上,可以发现已经有了公钥文件,这时候我们在远端服务器以下命令“mv/home/user/id_rsa.pub/home/user/.ssh/authorized_keys”,如果没有相应的文件夹则要提前建立。这样子,一切配置就算完成了,我们在远端服务器执行以下命令来开启ssh服务“service sshd start” 
然后我们回到本地机器,通过执行命令“ssh user@192.168.1.100”我们就可以成功连接上远端服务器了。这时候我们就可以在本地使用ssh安全地对远程服务器进行操作了,我们首先要做的就是将我们的项目源码拷贝到远端服务器上。 
这里要注意远端服务器上的文件夹和文件的权限问题。可以通过以下命令正确设置权限“#chmod700 .ssh”“#chmod 600 authorized_keys”

3.使用Nginx服务
Nginx是一个高性能的HTTP和反向代理服务器,使用Nginx能更好地帮我们处理静态资源文件。使用命令“$ sudo apt-get install nginx”安装Nginx。安装完成之后,需要我们手动编写配置文件并置于“/etc/nginx/sites-available/”文件夹下,然后在/etc/nginx/sites-enabled/目录下创建软链接,使用如下命令链接到我们的配置文件$sudo ln -s /etc/nginx/sites-available/cffilename .。每次修改完配置文件后,使用命令$ sudo /etc/init.d/nginx reload即可重新开启Nginx服务。Nginx配置文件的编写这里就不赘述了,可以查看相关文档学习。主要是编写一个处理静态资源文件还有一个处理动态请求转发的。在设定文件路径时,请使用绝对路径,否则会无法找到文件。Nginx有一个默认的配置文件default,需要把default文件下的root路径注释掉。 
使用Nginx同样要注意文件和文件夹的权限问题,否则Nginx可能没有办法读取所需要的静态资源文件。需要读取的文件夹需要有可执行的权限,否则无法进入文件夹进行读文件的操作,对于文件则要有对应的读取权限。

4.使用supervisor管理进程
supervisor是Linux/Unix系统下的一个进程管理工具,不支持Windows系统。它可以很方便的监听、启动、停止、重启一个或多个进程。用Supervisor管理的进程,当一个进程意外被杀死,supervisor监听到进程死后,会自动将它重新拉起,很方便的做到进程自动恢复的功能,而不需要我们自己写脚本控制。对于一个长期运行的web服务器,我们的服务端代码应该一直处于正常运行的状态,使用supervisor来管理我们的服务端代码,能够很好地做到这一点。Supervisor是一个Python工具,通过执行命令“pip install supervisor”来安装,不过在此之前我们的服务器上应该安装有Python和pip包管理工具。安装完成后,我们可以使用命令“supervisord -c /etc/supervisord.conf”来启动服务。 
Supervisor安装完成后每次服务器开机时都会自动启动的,不需要我们重复开启,如果重复开启多个运行时会出错,而且报错的信息也多种多样,可能提示端口被占用。supervisor会把配置文件中的进程全部运行。我们可以通过使用命令“ps aux|grep superviosrd”或“ps -ef|grep superviosrd”查看当前运行的服务,如果有重复则使用kill命令杀掉该进程。每次修改完配置文件后要通过命令“sudo supervisorctl reload ”来重新加载服务。正确配置完成后,可以通过命令“netstat -lpnt”来查看监听端口。Supervisor配置文件的编写如果需要路径也要注意采用绝对路径。

5.使用Fabric实现自动化部署
通过ssh连接远程服务器进行操作,使用Nginx和supervisor部署应用,这样子一个能够稳定运行的web服务器就搭建起来了。但是,我们的web应用在运行过程中可能会遇到各种各样的问题,程序员需要对代码进行不断地完善。如果每次修改代码后都要重新手动拷贝一份文件到服务器,然后再重新部署,那这过程一定是相当低效繁琐的,并且大大增加了出错的可能性。聪明的程序员是不会把时间花在重复的机械性操作上的。因此,自动化部署工具应运而生,Fabric则是其中的一个典型代表,Fabric目前只支持Python2,使用命令“pip install fabric”进行安装,Fabric使用了ssh直接登录服务器进行操作。Fabric脚本的编写可以查看相关文档学习,主体的思想便是将在部署时在本地执行的和远程执行的命令写进不同的函数中,每次重新部署时只需要在本地运行函数即可。本地运行的指令和服务器运行的指令对应着不同的命令格式,以此作为区分。
 

2016-06-30 22:44:59 cole10540316 阅读数 8035

linux的Web服务器搭建

  1. boa web服务器介绍

    boa是一款非常小巧的web服务器,执行代码大约只有60K,广泛应用于嵌入式平台。boa服务器是一个单任务网络服务器,只能依次执行用户的请求。

    bao下载地址(已经进10年没有更新了)

    http://www.boa.org/

    这里使用的是boa-0.94.13.tar.gz版本,接下来要做的是编译boa。

  2. boa 文件编译

    • 解压安装包文件:tar -vxf boa-0.94.13.tar.gz
    • 生成Makefile文件:cd src文件 执行./config生成Makefile文件
    • 修改Makefile文件: vi Makefile进入Makefile文件,将CC=GCC修改为平台所对应的编译器 改为: CC = arm-none-linux-gnueabi-gcc -static 将CPP = gcc -E改为CPP = arm-none-linux-gnueabi-gcc -E -static
    • 更改compat.h文件,将#define TIMEZONE_OFFSET(foo) foo##->tm_gmtoff的#号去掉变为#define TIMEZONE_OFFSET(foo) foo->tm_gmtoff
    • 执行make命令编译boa服务器
    • 执行 arm-none-linux-gnueabi-strip boa 为boa文件瘦身
    • 至此,编译工作完成
  3. boa web服务器文件结构搭建

    boa服务器需要在指定的文件下起作用,因此下面要搭建boa web服务器文件结构

    文件说明:
    (1)编译生成的boa文件拷贝至linux的/bin目录下
    (2)boa.conf 来源于boa安装包文件中
    (3)mime.types 来源于linux的/etc目录中
    (4)group文件 输入内容 为root:*:0:
    (5)修改boa.conf 文件。找到“Group nogroup”这一行,修改为“Group root”,找到“#ServerName www.your.org.here”这一行,修改为“ServerName www.your.org.here”,找到“DocumentRoot /var/www”这一行,修改为“DocumentRoot /www”,找到 “ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/” 这一行, 修改为 “ScriptAlias /cgi-bin/ /www/cgi-bin/” 保存并退出
    (6)开机启动设置 etc/init.d/rcS 的最后一行 输入boa &
    (7)index.html文件为访问主页面

4.测试方法

输入服务器IP地址进行测试
没有更多推荐了,返回首页