ubuntu:安装httpd和nginx步骤和常见问题及解决办法

1       Ubuntu系统:httpd-2.4.23.tar.gz安装

安装httpd之前,需要安装:gcc、apr、apr-util、pcre、zlib。

文件参考:D:1soft2测试2悬镜管家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)

 

 
原文地址:https://www.cnblogs.com/jxba/p/9220791.html