LAMP架构应用实战—Apache服务介绍与安装02

LAMP架构应用实战—Apache服务介绍与安装02

LAMP架构应用实战—Apache服务介绍与安装02

以下内容接上节文章

解决方案安装GCC套件

[root@Centos ~]# yum install gcc -y
Loaded plugins: fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile

  • base: mirrors.163.com
  • extras: mirrors.163.com
  • updates: mirrors.163.com
    base |3.7kB 00:00
    extras | 3.4 kB 00:00
    updates | 3.4 kB 00:00
    Setting up Install Process
    Resolving Dependencies
    -->Running transaction check
    --->Package gcc.x86_64 0:4.4.7-17.el6 will be installed
    -->Processing Dependency: libgomp = 4.4.7-17.el6 for package: gcc-4.4.7-17.el6.x86_64
    -->Processing Dependency: cpp = 4.4.7-17.el6 for package: gcc-4.4.7-17.el6.x86_64
    -->Processing Dependency: libgcc >= 4.4.7-17.el6 for package: gcc-4.4.7-17.el6.x86_64
    -->Processing Dependency: cloog-ppl >= 0.15 for package: gcc-4.4.7-17.el6.x86_64
    -->Running transaction check
    --->Package cloog-ppl.x86_64 0:0.15.7-1.2.el6 will be installed
    -->Processing Dependency: libppl_c.so.2()(64bit) for package: cloog-ppl-0.15.7-1.2.el6.x86_64
    -->Processing Dependency: libppl.so.7()(64bit) for package: cloog-ppl-0.15.7-1.2.el6.x86_64
    --->Package cpp.x86_64 0:4.4.7-17.el6 will be installed
    -->Processing Dependency: libmpfr.so.1()(64bit) for package: cpp-4.4.7-17.el6.x86_64
    --->Package libgcc.x86_64 0:4.4.7-4.el6 will be updated
    --->Package libgcc.x86_64 0:4.4.7-17.el6 will be an update
    --->Package libgomp.x86_64 0:4.4.7-4.el6 will be updated
    --->Package libgomp.x86_64 0:4.4.7-17.el6 will be an update
    -->Running transaction check
    --->Package mpfr.x86_64 0:2.4.1-6.el6 will be installed
    --->Package ppl.x86_64 0:0.10.2-11.el6 will be installed
    -->Finished Dependency Resolution
    Dependencies Resolved

    Package Arch Version Repository Size

    Installing:
    gcc x86_64 4.4.7-17.el6 base 10 M
    Installing for dependencies:
    cloog-ppl x86_64 0.15.7-1.2.el6 base 93 k
    cpp x86_64 4.4.7-17.el6 base 3.7 M
    mpfr x86_64 2.4.1-6.el6 base 157 k
    ppl x86_64 0.10.2-11.el6 base 1.3 M
    Updating for dependencies:
    libgcc x86_64 4.4.7-17.el6 base 103 k
    libgomp x86_64 4.4.7-17.el6 base 134 k
    Transaction Summary

    Install 5 Package(s)
    Upgrade 2 Package(s)
    Total
    download size: 16 M
    Downloading Packages:
    (1/7):cloog-ppl-0.15.7-1.2.el6.x86_64.rpm | 93kB 00:00
    (2/7):cpp-4.4.7-17.el6.x86_64.rpm | 3.7 MB 00:02
    (3/7):gcc-4.4.7-17.el6.x86_64.rpm | 10 MB 00:08
    (4/7):libgcc-4.4.7-17.el6.x86_64.rpm |103 kB 00:00
    (5/7):libgomp-4.4.7-17.el6.x86_64.rpm |134 kB 00:00
    (6/7):mpfr-2.4.1-6.el6.x86_64.rpm | 157 kB 00:00
    (7/7):ppl-0.10.2-11.el6.x86_64.rpm | 1.3 MB 00:00

    Total 1.2 MB/s | 16 MB 00:13
    Running rpm_check_debug
    Running Transaction Test
    Transaction Test Succeeded
    Running Transaction
    Warning: RPMDB altered outside of yum.
    ** Found 1pre-existing rpmdb problem(s), ‘yum check‘ output follows:
    gnome-user-share-2.28.2-3.el6.x86_64 has missing requires of httpd >= (‘0‘, ‘2.2.0‘, None)
    Updating : libgcc-4.4.7-17.el6.x86_64 1/9
    Installing : ppl-0.10.2-11.el6.x86_64 2/9
    Installing : cloog-ppl-0.15.7-1.2.el6.x86_64 3/9
    Updating : libgomp-4.4.7-17.el6.x86_64 4/9
    Installing : mpfr-2.4.1-6.el6.x86_64 5/9
    Installing : cpp-4.4.7-17.el6.x86_64 6/9
    Installing : gcc-4.4.7-17.el6.x86_64 7/9
    Cleanup : libgomp-4.4.7-4.el6.x86_64 8/9
    Cleanup : libgcc-4.4.7-4.el6.x86_64 9/9
    Verifying : libgcc-4.4.7-17.el6.x86_64 1/9
    Verifying : ppl-0.10.2-11.el6.x86_64 2/9
    Verifying : mpfr-2.4.1-6.el6.x86_64 3/9
    Verifying : gcc-4.4.7-17.el6.x86_64 4/9
    Verifying : libgomp-4.4.7-17.el6.x86_64 5/9
    Verifying : cpp-4.4.7-17.el6.x86_64 6/9
    Verifying : cloog-ppl-0.15.7-1.2.el6.x86_64 7/9
    Verifying : libgomp-4.4.7-4.el6.x86_64 8/9
    Verifying : libgcc-4.4.7-4.el6.x86_64 9/9
    Installed:
    gcc.x86_64 0:4.4.7-17.el6
    Dependency Installed:
    cloog-ppl.x86_64 0:0.15.7-1.2.el6 cpp.x86_64 0:4.4.7-17.el6
    mpfr.x86_64 0:2.4.1-6.el6 ppl.x86_64 0:0.10.2-11.el6
    Dependency Updated:
    libgcc.x86_64 0:4.4.7-17.el6 libgomp.x86_64 0:4.4.7-17.el6
    Complete!

再次切换到APR目录下执行安装

[root@Centos ~]# cd /Downloads/tools/apr-1.5.2
[root@Centos apr-1.5.2]# ./configrue --prefix=/var/local/apr
[root@Centos apr-1.5.2]# make && make install

检查下是否安装成功

[root@Centos apr-1.5.2]# rpm -qa|grep apr
apr-1.3.9-5.el6_2.x86_64
apr-util-1.3.9-3.el6_0.1.x86_64
apr-util-ldap-1.3.9-3.el6_0.1.x86_64

下载apr-util软件

[root@Centostools]# wgethttps://mirrors.tuna.tsinghua.edu.cn/apache/apr/apr-util-1.5.4.tar.gz
--2016-09-1201:40:11-- https://mirrors.tuna.tsinghua.edu.cn/apache/apr/apr-util-1.5.4.tar.gz
Resolvingmirrors.tuna.tsinghua.edu.cn... 166.111.206.63, 2402:f000:1:416:166:111:206:63
Connectingto mirrors.tuna.tsinghua.edu.cn|166.111.206.63|:443... connected.
HTTPrequest sent, awaiting response... 200 OK
Length:874044 (854K) [application/octet-stream]
Saving to:“apr-util-1.5.4.tar.gz”
100%[====================================================================================================================================>]874,044 904K/s in 0.9s
2016-09-1201:40:12 (904 KB/s) - “apr-util-1.5.4.tar.gz” saved [874044/874044]

[root@Centosapr-util-1.5.4]# ./configure --prefix=/usr/local/web/apr-util–with-apr=/usr/local/apr
[root@Centosapr-util-1.5.4]#make && make install
............................................................................................................................过程省略

重新切换到apache目录下执行前面的编译安装apache

[root@Centoshttpd-2.4.23]# ./configure
--prefix=/application/apache2.4.23\
--enable-deflate\
--enable-expires\
--enable-headers\
--enable-modules=most\
--enable-so\
--with-mpm=worker\
--enable-rewrite\
--with-apr=/usr/local/apr\
--with-apr-util=/usr/local/web/apr-util
checkingfor chosen layout... Apache
checkingfor working mkdir -p... yes
checkingfor grep that handles long lines and -e... /bin/grep
checkingfor egrep... /bin/grep -E
checkingbuild system type... x86_64-unknown-linux-gnu
checkinghost system type... x86_64-unknown-linux-gnu
checkingtarget system type... x86_64-unknown-linux-gnu
configure:
configure:Configuring Apache Portable Runtime library...
configure:
checkingfor APR... yes
setting CC to "gcc"
setting CPP to "gcc -E"
setting CFLAGS to " -g -O2-pthread"
setting CPPFLAGS to " -DLINUX-D_REENTRANT -D_GNU_SOURCE"
setting LDFLAGS to " "
configure:
configure:Configuring Apache Portable Runtime Utility library...
configure:
checkingfor APR-util... yes
checkingfor gcc... gcc
checkingwhether the C compiler works... yes
checkingfor C compiler default output file name... a.out
checkingfor suffix of executables...
checkingwhether we are cross compiling... no
checking forsuffix of object files... o
checkingwhether we are using the GNU C compiler... yes
checkingwhether gcc accepts -g... yes
checkingfor gcc option to accept ISO C89... none needed
checkinghow to run the C preprocessor... gcc -E
checkingfor gcc option to accept ISO C99... -std=gnu99
checkingfor pcre-config... false
configure: error: pcre-config for libpcre not found. PCRE isrequired and available from http://pcre.org/

根据提示解决方法如下

下载pcre软件交并安装

[root@Centostools]# wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.38.tar.gz
--2016-09-1203:18:42-- ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.38.tar.gz
=> “pcre-8.38.tar.gz”
Resolvingftp.csx.cam.ac.uk... 131.111.8.115
Connectingto ftp.csx.cam.ac.uk|131.111.8.115|:21... connected.
Logging inas anonymous ... Logged in!
==> SYST... done. ==> PWD ... done.
==> TYPEI ... done. ==> CWD (1)/pub/software/programming/pcre ... done.
==> SIZEpcre-8.38.tar.gz ... 2053336
==> PASV... done. ==> RETR pcre-8.38.tar.gz... done.
Length:2053336 (2.0M) (unauthoritative)

100%[============================================================================================================================>]2,053,336 544K/s in 3.7s

2016-09-1203:18:54 (544 KB/s) - “pcre-8.38.tar.gz” saved [2053336]

[root@Centostools]# ls -ll
total 12096
drwxr-xr-x.28 1000 1000 4096 Sep 12 01:29 apr-1.5.2
-rw-r--r--. 1 root root 1031613 Apr 29 2015apr-1.5.2.tar.gz
drwxr-xr-x.20 1000 1000 4096 Sep 12 01:44 apr-util-1.5.4
-rw-r--r--. 1 root root 874044 Sep 20 2014apr-util-1.5.4.tar.gz
drwxr-xr-x.11 yumw games 4096 Sep 12 03:04httpd-2.4.23
-rw-r--r--. 1 root root 8406575 Jul 5 03:50httpd-2.4.23.tar.gz
-rw-r--r--. 1 root root 2053336 Sep 12 03:18 pcre-8.38.tar.gz

解压并进行编译安装

[root@Centostools]# tar zxf pcre-8.38.tar.gz
[root@Centostools]# cd pcre-8.38
[root@Centospcre-8.38]# ./configure --prefix=/usr/local/pcre
[root@Centospcre-8.38]# make && make install
............................................................................................................................过程省略

重新切换到apache目录下执行前面的编译安装apache

[root@Centoshttpd-2.4.23]# ./configure
--prefix=/application/apache2.4.23\
--enable-deflate\
--enable-expires\
--enable-headers\
--enable-modules=most\
--enable-so\
--with-mpm=worker\
--enable-rewrite\
--with-apr=/usr/local/apr\
--with-apr-util=/usr/local/web/apr-util
--with-pcre=/usr/local/pcre/bin/pcre-config
............................................................................................................................过程省略

[root@Centoshttpd-2.4.23]#make && make install
............................................................................................................................过程省略

过程省略,注意查看是否有错误提示,否则到最后也无法安装成功

[root@Centoshttpd-2.4.23]# ln -s /application/apache2.4.23 /application/apache

便于后续使用,生产环境中常用这种配置

安装时指定版本号路径方便查看安装版本与后续升级,如果后续升级,只需将前面的软链接删除,重新创建一个新软链接即可

[root@Centoshttpd-2.4.23]# ls -l /application/
total 4
lrwxrwxrwx. 1 root root 25 Sep 12 03:44 apache -> /application/apache2.4.23
drwxr-xr-x.14 root root 4096 Sep 12 03:30 apache2.4.23

启动服务

[root@Centoshttpd-2.4.23]# cd ..
[root@Centostools]# /application/apache/bin/apachectl start
AH00557:httpd: apr_sockaddr_info_get() failed for Centos
AH00558:httpd: Could not reliably determine the server‘s fully qualified domain name,using 127.0.0.1. Set the ‘ServerName‘ directive globally to suppress thismessage
httpd (pid34190) already running

服务启动成功,但由于没有DNS出现这种提示,解决方法如下(测试环境,实际生产环境中不存在这提示信息)

[root@Centos~]# vi/application/apache/conf/httpd.conf

#This isthe main Apache HTTP server configuration file. It contains the
#configuration directives that give the server its instructions.
See<URL:http://httpd.apache.org/docs/2.4/&gt; for detailed information.
............................................................................中间内容省略
If yourhost doesn‘t have a registered DNS name, enter its IP address here.
ServerName www.example.com:80==========>localhost:80(192.168.1.2:80)

查看端口

[root@Centostools]# lsof -i tcp:80
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
httpd 34190 root 4u IPv6 46376 0t0 TCP :http (LISTEN)
httpd 34191 daemon 4u IPv6 46376 0t0 TCP
:http (LISTEN)
httpd 34192 daemon 4u IPv6 46376 0t0 TCP :http (LISTEN)
httpd 34193 daemon 4u IPv6 46376 0t0 TCP
:http (LISTEN)

查看进程

[root@Centostools]# ps -ef |grep httpd
root 34190 1 0 03:57 ? 00:00:00/application/apache2.4.23/bin/httpd -k start
daemon 34191 34190 0 03:57 ? 00:00:00/application/apache2.4.23/bin/httpd -k start
daemon 34192 34190 0 03:57 ? 00:00:00/application/apache2.4.23/bin/httpd -k start
daemon 34193 34190 0 03:57 ? 00:00:00/application/apache2.4.23/bin/httpd -k start
root 34320 1866 0 04:06 pts/0 00:00:00 grep httpd

关闭防火墙

[root@Centostools]# /etc/init.d/iptables stop
iptables:Setting chains to policy ACCEPT: filter [ OK ]
iptables:Flushing firewall rules: [ OK ]
iptables:Unloading modules: [ OK ]
[root@Centostools]# /etc/init.d/iptables status
iptables:Firewall is not running.

如果是生产环境,可以添加规则允许80端口即可

[root@Centostools]#iptables -I INPUT -p tcp --dport 80 -jACCEPT

[root@Centostools]# vi /etc/selinux/config
This filecontrols the state of SELinux on the system.
SELINUX=can take one of these three values:
enforcing - SELinux security policy isenforced.
permissive - SELinux prints warningsinstead of enforcing.
disabled - No SELinux policy is loaded.
SELINUX=disalbed
#SELINUXTYPE= can take one of these two values:
targeted - Targeted processes areprotected,
mls - Multi Level Security protection.
SELINUXTYPE=targeted

打开IE浏览器直接输入http://192.168.1.2 打开出现 it works 表示安装成功

[root@Centos~]# cd /application/apache/conf/
[root@Centosconf]# ls
extra httpd.conf index.html magic mime.types original
[root@Centosconf]# cat index.html
<html><body><h1>Itworks!</h1></body></html>
浏览器出现的内容就是读取这个文件的内容
至此,Apache服务安装配置完成,可以正常提供 http服务了
LAMP架构应用实战—Apache服务介绍与安装02
长按二维码关注公众号——友侃有笑

LAMP架构应用实战—Apache服务介绍与安装02

上一篇:JS双层for循环实例有三个同学,每个同学有四门成绩,求每个同学的成绩平均分


下一篇:LAMP架构应用实战—Apache服务mod_expires模块介绍