服务器搭建--基于arm-linux的web服务器搭建
文章摘要:
本文描述了基于arm-linux平台的web服务器搭建(nginx + php);
硬件平台: s3c2410
内核版本: linux-3.10.1
编译器版本:arm-linux-gcc v4.4.3
nginx服务器搭建
软件版本:nginx-0.6.39/pcre-8.35
1.下载PCRE源码并解压至/usr/src
pcre主要是为了使nginx支持rewrite属性,主要用于php;
2.下载nginx源码,并解压至/usr/src
$./configure --prefix=/usr/local/nginx -conf-path=/etc/nginx/nginx.conf --with-pcre=../pcre-8.34/
注意事项:
--conf-path=/etc/nginx/nginx.conf 用来指明运行配置文件的位置
3.修改objs/Makefile
CC = arm-linux-gcc
CPP = arm-linux-gcc -E
由于nginx不支持--host选项,所以需要手动更改编译器;
4.配置pcre
$ cd ../pcre-8.35
$ ./configure --disable-shared --host=arm-linux
注意事项:
这一步不能提前,只能在修改Makefile后进行,否则Makefile会丢失;
--host指定主机类型后,会自动生成arm-linux-gcc的编译命令;
5.编译
$cd ../nginx-0.6.39
$make
编译好的nginx文件位于objs目录中;
6.部署安装
将nginx文件复制到开发板的/usr/sbin目录中;
将conf目录的所有文件复制到开发板的/etc/nginx目录;
7.运行
# /usr/sbin/nginx
至此可以浏览器访问通过访问静态html页面;
注意事项:
nginx-0.7.69及以上版本,需要md5支持;
php环境搭建
软件版本:php-5.6.27
1.下载php源码
http://www.php.net/downloads.php
2.编译安装
$CC=arm-linux-gcc
$./configure --host=arm-linux --prefix=/opt/php5 --disable-all --enable-fpm --enable-pdo --with-zlib --without-iconv
$make
$make install
选项说明:
使能fpm模块(重要): --enable-fpm
嵌入式一般不采用mysql数据库,而是采用sqlite数据库:
--with-sqlite3
--with-sqlite
--with-pdo-sqlite
php-fpm.conf
将etc/php-fpm.conf.default文件复制至目标板/etc/php5/fpm/php-fpm.conf
修改php-fpm.conf,指定pid(重要)
pid = /var/run/php5-fpm.pid
如果目标板没有/var/run和/var/log目录的话,则建立该目录;
3.运行php-fpm
# /usr/local/php5/sbin/php-fpm -y /etc/php-fpm.conf
nginx配置示例:
server {
listen 80;
server_name 192.168.9.166;
location / {
root /var/www/html;
index index.php index.html index.htm;
}
location ~ \.php$ {
root /var/www/html;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
include fastcgi_params;
}
fastcgi_params文件说明:
主要声明了相关的变量
fastcgi_param GATEWAY_INTERFACE CGI/1.1;
fastcgi_param SERVER_SOFTWARE nginx;
fastcgi_param QUERY_STRING $query_string;
fastcgi_param REQUEST_METHOD $request_method;
fastcgi_param CONTENT_TYPE $content_type;
fastcgi_param CONTENT_LENGTH $content_length;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param SCRIPT_NAME $fastcgi_script_name;
fastcgi_param REQUEST_URI $request_uri;
fastcgi_param DOCUMENT_URI $document_uri;
fastcgi_param DOCUMENT_ROOT $document_root;
fastcgi_param SERVER_PROTOCOL $server_protocol;
fastcgi_param REMOTE_ADDR $remote_addr;
fastcgi_param REMOTE_PORT $remote_port;
fastcgi_param SERVER_ADDR $server_addr;
fastcgi_param SERVER_PORT $server_port;
fastcgi_param SERVER_NAME $server_name;
在网站根目录建立index.php文件:
<?php
phpinfo();
?>
重启nginx,即可通过浏览器访问php页面;
相关下载:
http://www.pcre.org/
http://nginx.org/en/download.html
ftp://ftp.penguin.cz/pub/users/mhi/libmd/libmd-0.3.tar.bz2
http://www.php.net/downloads.php