1
httpd-2.4.23.tar.gz安装
安装httpd之前,需要安装:gcc、apr、apr-util、pcre、zlib。
文件参考:D:\01soft\02测试\02悬镜管家\web服务\httpd安装环境
1.1
前期准备
apt-get install lrzsz
apt-get install gcc
apt-get install build-essential
1.2
apr
wget
http://mirrors.tuna.tsinghua.edu.cn/apache//apr/apr-1.5.2.tar.gz
tar zxvf
apr-1.5.2.tar.gz
cd apr-1.5.2/
./configure
make
make install
1.3
apr-util
wget
http://mirrors.tuna.tsinghua.edu.cn/apache//apr/apr-util-1.5.4.tar.gz
tar zxvf
apr-util-1.5.4.tar.gz
cd apr-util-1.5.4/
./configure
--with-apr=/usr/local/apr
make install
1.4
pcre
wget
http://ftp.exim.llorien.org/pcre/pcre-8.36.tar.gz
chmod 777
pcre-8.36.tar.gz
tar zxvf
pcre-8.36.tar.gz
cd pcre-8.36/
./configure
(遇某一失败,则执行apt-get install build-essential)
make
make install
1.5
zlib
将安装包放在指定目录下
tar zxvf zlib-1.2.8.tar.gz
cd zlib-1.2.8/
./configure
(遇某一失败,执行vim Makefile)
make
make install
1.6
httpd-2.4.23
将安装包放在指定目录下
tar zxvf httpd-2.4.23.tar.gz
cd httpd-2.4.23/
./configure --prefix=/usr/local/apache2
--with-apr=/usr/local/apr/bin/apr-1-config
--with-apr-util=/usr/local/apr/bin/apu-1-config
--with-pcre=/usr/local/pcre/bin/pcre-config
--with-zlib-1.2.3=/usr/local/zlib-1.2.3 --enable-so
make
make install
如./configure时出错提示E: Unable to locate package
crypto,E: Unable to locate package libssl
则执行:
cp /usr/local/ssl/lib/libssl.so
/usr/lib/
cp /usr/local/ssl/lib/libcrypto.so
/usr/lib/
重新执行
./configure --prefix=/usr/local/apache2
--with-apr=/usr/local/apr/bin/apr-1-config
--with-apr-util=/usr/local/apr/bin/apu-1-config
--with-pcre=/usr/local/pcre/bin/pcre-config
--with-zlib-1.2.3=/usr/local/zlib-1.2.3 --enable-so
make
make install
1.7
启动
cd /usr/local/apache2/bin/
./httpd
如提示ServerName问题,则修改conf下的httpd.conf文件的ServerName
将/usr/local/apache2/conf下的httpd.conf中的:
改为:
ServerName localhost:80
2
Nginx1.11.5
安装nginx之前应先安装gcc g++、
pcre-8.37、lib-1.2.8,
CentOS 和RedHat:
yum install gcc
gcc-c++
ubuntu :apt-get
install gcc-c++
2.1
pcre
wget
http://ftp.exim.llorien.org/pcre/pcre-8.36.tar.gz
chmod 777
pcre-8.36.tar.gz
tar zxvf
pcre-8.36.tar.gz
cd pcre-8.36/
./configure
(遇某一失败,则执行apt-get install build-essential)
make
make install
2.2
zlib
将安装包放在指定目录下
tar zxvf zlib-1.2.8.tar.gz
cd zlib-1.2.8/
./configure
(遇某一失败,执行vim Makefile)
make
make install
3
常见问题
3.1
yum
3.1.1
yum
lock
则执行:
ctrl+z
rm –f /var/run/yum.pid
3.2
pcre
3.2.1
make出错
pcre-8.37 执行make失败提示:The program 'make' can be found in the following
packages:
则执行:apt-get install
build-essential
3.2.2
Configure出错
unbuntu下安装pcre-8.37 configure: error: You need a C++
compiler for C++ support
则执行:sudo apt-get install build-essential
(build-essential 是一整套工具,gcc,libc等等)
或者:sudo apt-get install make gcc
g++再装上函数手册:sudo apt-get install manpages-dev
注:如是redhat或centos,则执行:yum install -y gcc gcc-c++
3.3
Nginx
3.3.1
Nginx1.10.1启动报错
nginx: [alert] could not open error log file:
open() "/usr/local/nginx/logs/error.log" failed (13:Permission
denied)
2014/08/04 20:35:45 [emerg] 17114#0: open()
"/usr/local/nginx/logs/access.log" failed (13: Permission
denied)
原因分析:当前用户对该位置没有写入权限
解决办法,执行命令:
1、sudo /usr/local/nginx/sbin/nginx -c
/usr/local/nginx/conf/nginx.conf 以root权限启动
2、sudo chmod -R a+rw /usr/local/nginx
给所有用户赋权限(个人学习,不考虑安全问题)
3、启动Nginx :/usr/local/nginx/sbin/nginx -c
/usr/local/nginx/conf/nginx.conf
注:以非root权限启动时,会出现nginx: [emerg] bind() to 0.0.0.0:80 failed (13:
Permission denied) 错误
原因:Linux只有root用户可以使用1024一下的端口
解决办法:1.已root权限启动
2.将/usr/local/nginx/conf/nginx.conf
文件中的80端口改为1024以上
server {
# listen 80
listen
8080
}
3.3.2
nginx1.10.1启动失败
端口被占用
: [emerg] bind() to 0.0.0.0:80 failed (98: Address
already in use)