1 Ubuntu系统: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
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 www.example.com:80
改为:
ServerName localhost:80
2 Ubuntu系统: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++
详见:http://www.ithao123.cn/content-9518048.html
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)