zoukankan      html  css  js  c++  java
  • 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)

     

     
  • 相关阅读:
    Kill Processes in Linux
    How to Setup Chroot SFTP in Linux (Allow Only SFTP, not SSH)
    156 Useful Run Commands
    6
    pandas groupby合并列字符串
    一个ROS配置的脚本
    Mybatis 学习记录
    Android搭建code server
    CF 1616D. Keep the Average High
    第七章:(1)Redis 的发布订阅
  • 原文地址:https://www.cnblogs.com/jxba/p/9220791.html
Copyright © 2011-2022 走看看