LAMP基础环境的搭建,即Linux、Apache、MySQL、PHP环境

测试环境:

主机:windows server 2008 R2 64位

虚拟机:VMware Workstation 11.0.0

linux版本:CentOS release 5.5 (Final)

目标:搭建LAMP基础环境。

参考内容:
centOS Linux下用yum安装mysql
http://www.2cto.com/database/201305/208114.html

linux下查看mysql、apache是否安装,并卸载
http://www.flynoc.com/kb/shownews765.html

APACHE配置文件中文详解
http://www.blogjava.net/bukebushuo/articles/229103.html

Linux下安装mysql-5.6.4 的图文教程
http://www.jb51.net/article/39190.htm

#开始准备安装
Last login: Thu Sep 10 16:45:32 2015 from 192.168.3.12
[root@localhost ~]# ls
anaconda-ks.cfg  Desktop  install.log  install.log.syslog

#mysql 没有安装
[root@localhost ~]# service mysqld start
mysqld: unrecognized service

#Apache默认已安装
[root@localhost ~]# rpm -q httpd
httpd-2.2.3-43.el5.centos

#Apache版本
[root@localhost ~]# httpd -v
Server version: Apache/2.2.3
Server built:   Apr  4 2010 17:19:54

[root@localhost ~]# apachectl   -v
Server version: Apache/2.2.3
Server built:   Apr  4 2010 17:19:54

#Apache安装文件位置
[root@localhost ~]# whereis httpd
httpd: /usr/sbin/httpd.event /usr/sbin/httpd.worker /usr/sbin/httpd /etc/httpd

/usr/lib/httpd /usr/share/man/man8/httpd.8.gz

#Apache运行文件目录位置
[root@localhost ~]# which httpd
/usr/sbin/httpd

#查询当前linux版本
[root@localhost ~]# lsb_release -a
LSB Version:    :core-3.1-ia32:core-3.1-noarch:graphics-3.1-ia32:graphics-3.1-noarch
Distributor ID: CentOS
Description:    CentOS release 5.5 (Final)
Release:        5.5
Codename:       Final

#yum 安装 Mysql
[root@localhost ~]# yum -y install mysql-server
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * addons: mirrors.skyshe.cn
 * base: mirrors.skyshe.cn
 * extras: mirrors.163.com
 * updates: mirrors.163.com
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package mysql-server.i386 0:5.0.95-5.el5_9 set to be updated
--> Processing Dependency: mysql = 5.0.95-5.el5_9 for package: mysql-server
--> Processing Dependency: perl-DBD-MySQL for package: mysql-server
--> Processing Dependency: perl(DBI) for package: mysql-server
--> Processing Dependency: libmysqlclient.so.15(libmysqlclient_15) for package: mysql-server
--> Processing Dependency: perl-DBI for package: mysql-server
--> Processing Dependency: libmysqlclient_r.so.15(libmysqlclient_15) for package: mysql-

server
--> Processing Dependency: libmysqlclient.so.15 for package: mysql-server
--> Processing Dependency: libmysqlclient_r.so.15 for package: mysql-server
--> Running transaction check
---> Package mysql.i386 0:5.0.95-5.el5_9 set to be updated
---> Package perl-DBD-MySQL.i386 0:3.0007-2.el5 set to be updated
---> Package perl-DBI.i386 0:1.52-2.el5 set to be updated
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
 Package                Arch         Version                 Repository    Size
================================================================================
Installing:
 mysql-server           i386         5.0.95-5.el5_9          base         9.8 M
Installing for dependencies:
 mysql                  i386         5.0.95-5.el5_9          base         4.9 M
 perl-DBD-MySQL         i386         3.0007-2.el5            base         148 k
 perl-DBI               i386         1.52-2.el5              base         600 k

Transaction Summary
================================================================================
Install       4 Package(s)
Upgrade       0 Package(s)

Total download size: 15 M
Downloading Packages:
(1/4): perl-DBD-MySQL-3.0007-2.el5.i386.rpm              | 148 kB     00:00     
(2/4): perl-DBI-1.52-2.el5.i386.rpm                      | 600 kB     00:04     
(3/4): mysql-5.0.95-5.el5_9.i386.rpm                     | 4.9 MB     01:18     
(4/4): mysql-server-5.0.95-5.el5_9.i386.rpm              | 9.8 MB     02:20     
--------------------------------------------------------------------------------
Total                                            70 kB/s |  15 MB     03:45     
warning: rpmts_HdrFromFdno: Header V3 DSA signature: NOKEY, key ID e8562897
base/gpgkey                                              | 1.5 kB     00:00     
Importing GPG key 0xE8562897 "CentOS-5 Key (CentOS 5 Official Signing Key) <centos-5-

key@centos.org>" from /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing     : perl-DBI                                                 1/4 
  Installing     : mysql                                                    2/4 
  Installing     : perl-DBD-MySQL                                           3/4 
  Installing     : mysql-server                                             4/4

Installed:
  mysql-server.i386 0:5.0.95-5.el5_9

Dependency Installed:
  mysql.i386 0:5.0.95-5.el5_9         perl-DBD-MySQL.i386 0:3.0007-2.el5        
  perl-DBI.i386 0:1.52-2.el5

Complete!

#yum 安装 php-mysql
[root@localhost ~]# yum -y install php-mysql
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * addons: mirrors.skyshe.cn
 * base: mirrors.skyshe.cn
 * extras: mirrors.163.com
 * updates: mirrors.163.com
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package php-mysql.i386 0:5.1.6-45.el5_11 set to be updated
--> Processing Dependency: php-common = 5.1.6-45.el5_11 for package: php-mysql
--> Processing Dependency: php-pdo for package: php-mysql
--> Running transaction check
---> Package php-common.i386 0:5.1.6-45.el5_11 set to be updated
---> Package php-pdo.i386 0:5.1.6-45.el5_11 set to be updated
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
 Package            Arch         Version                  Repository       Size
================================================================================
Installing:
 php-mysql          i386         5.1.6-45.el5_11          updates          88 k
Installing for dependencies:
 php-common         i386         5.1.6-45.el5_11          updates         155 k
 php-pdo            i386         5.1.6-45.el5_11          updates          67 k

Transaction Summary
================================================================================
Install       3 Package(s)
Upgrade       0 Package(s)

Total download size: 309 k
Downloading Packages:
(1/3): php-pdo-5.1.6-45.el5_11.i386.rpm                  |  67 kB     00:00     
(2/3): php-mysql-5.1.6-45.el5_11.i386.rpm                |  88 kB     00:00     
(3/3): php-common-5.1.6-45.el5_11.i386.rpm               | 155 kB     00:01     
--------------------------------------------------------------------------------
Total                                           156 kB/s | 309 kB     00:01     
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing     : php-common                                               1/3 
  Installing     : php-pdo                                                  2/3 
  Installing     : php-mysql                                                3/3

Installed:
  php-mysql.i386 0:5.1.6-45.el5_11

Dependency Installed:
  php-common.i386 0:5.1.6-45.el5_11        php-pdo.i386 0:5.1.6-45.el5_11

Complete!

#mysql安装文件目录位置
[root@localhost ~]# whereis mysql
mysql: /usr/bin/mysql /usr/lib/mysql /usr/share/mysql /usr/share/man/man1/mysql.1.gz

#mysql 运行文件目录位置
[root@localhost ~]# which mysql
/usr/bin/mysql

#查看服务是否已经添加到linux上
[root@localhost ~]# chkconfig --list mysqld
mysqld          0:off   1:off   2:off   3:off   4:off   5:off   6:off

#重启与停止mysql服务
启动方式1 service mysql start
启动方式2 /etc/init.d/mysql start
停止方式1 service mysql stop
停止方式2 /etc/init.d/mysql stop
重启方式1 service mysql restart
重启方式2 /etc/init.d/mysql restart

#启动mysql数据库
[root@localhost ~]# /etc/rc.d/init.d/mysqld start
Initializing MySQL database:  Installing MySQL system tables...
OK
Filling help tables...
OK

To start mysqld at boot time you have to copy
support-files/mysql.server to the right place for your system

PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
To do so, start the server, then issue the following commands:
/usr/bin/mysqladmin -u root password 'new-password'
/usr/bin/mysqladmin -u root -h localhost.localdomain password 'new-password'

Alternatively you can run:
/usr/bin/mysql_secure_installation

which will also give you the option of removing the test
databases and anonymous user created by default.  This is
strongly recommended for production servers.

See the manual for more instructions.

You can start the MySQL daemon with:
cd /usr ; /usr/bin/mysqld_safe &

You can test the MySQL daemon with mysql-test-run.pl
cd mysql-test ; perl mysql-test-run.pl

Please report any problems with the /usr/bin/mysqlbug script!

The latest information about MySQL is available on the web at
http://www.mysql.com
Support MySQL by buying support/licenses at http://shop.mysql.com
                                                           [  OK  ]
Starting mysqld:                                           [  OK  ]

#为MySQL的root用户设置密码
 
MySQL在刚刚被安装的时候,它的root用户是没有被设置密码的。首先来设置MySQL的root密码。

在没设置密码之时,用root用户登录MySQL服务器

[root@localhost ~]# mysql -u root
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.0.95 Source distribution

Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> select user,host,password from mysql.user;
+------+-----------------------+----------+
| user | host                  | password |
+------+-----------------------+----------+
| root | localhost             |          | 
| root | localhost.localdomain |          | 
| root | 127.0.0.1             |          | 
|      | localhost             |          | 
|      | localhost.localdomain |          | 
+------+-----------------------+----------+
5 rows in set (0.00 sec)

mysql>

#mysql设置密码
mysql> set password for root@localhost=password ('在这里填入root密码');  ← 设置root密码

[root@localhost ~]#

#安装PHP
[root@localhost ~]# yum install php
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * addons: mirrors.skyshe.cn
 * base: mirrors.skyshe.cn
 * extras: mirrors.163.com
 * updates: mirrors.163.com
addons                                                   | 1.9 kB     00:00     
base                                                     | 1.1 kB     00:00     
extras                                                   | 2.1 kB     00:00     
updates                                                  | 1.9 kB     00:00     
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package php.i386 0:5.1.6-45.el5_11 set to be updated
--> Processing Dependency: php-cli = 5.1.6-45.el5_11 for package: php
--> Running transaction check
---> Package php-cli.i386 0:5.1.6-45.el5_11 set to be updated
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
 Package          Arch          Version                  Repository        Size
================================================================================
Installing:
 php              i386          5.1.6-45.el5_11          updates          2.3 M
Installing for dependencies:
 php-cli          i386          5.1.6-45.el5_11          updates          2.1 M

Transaction Summary
================================================================================
Install       2 Package(s)
Upgrade       0 Package(s)

Total download size: 4.4 M
Is this ok [y/N]: y
Downloading Packages:
(1/2): php-cli-5.1.6-45.el5_11.i386.rpm                  | 2.1 MB     00:03     
(2/2): php-5.1.6-45.el5_11.i386.rpm                      | 2.3 MB     00:02     
--------------------------------------------------------------------------------
Total                                            97 kB/s | 4.4 MB     00:46     
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing     : php-cli                                                  1/2 
  Installing     : php                                                      2/2

Installed:
  php.i386 0:5.1.6-45.el5_11

Dependency Installed:
  php-cli.i386 0:5.1.6-45.el5_11

Complete!

[root@localhost ~]# yum install php-devel
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * addons: mirrors.skyshe.cn
 * base: mirrors.skyshe.cn
 * extras: mirrors.163.com
 * updates: mirrors.163.com
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package php-devel.i386 0:5.1.6-45.el5_11 set to be updated
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
 Package           Arch         Version                   Repository       Size
================================================================================
Installing:
 php-devel         i386         5.1.6-45.el5_11           updates         505 k

Transaction Summary
================================================================================
Install       1 Package(s)
Upgrade       0 Package(s)

Total download size: 505 k
Is this ok [y/N]: y
Downloading Packages:
php-devel-5.1.6-45.el5_11.i386.rpm                       | 505 kB     00:01     
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing     : php-devel                                                1/1

Installed:
  php-devel.i386 0:5.1.6-45.el5_11

Complete!

#查看php设置文件
[root@localhost ~]# cd /etc/httpd/conf.d
[root@localhost conf.d]# ll *.conf
-rw-r--r-- 1 root root 771 Nov  6  2014 php.conf
-rw-r--r-- 1 root root 566 Apr  4  2010 proxy_ajp.conf
-rw-r--r-- 1 root root 299 Apr  4  2010 welcome.conf

#启动Apache
[root@localhost /]# /etc/init.d/httpd start
Starting httpd:                                            [  OK  ]

[root@localhost ~]# /etc/init.d/httpd stop
Stopping httpd:                                            [  OK  ]

#配置apache
[root@localhost ~]# vi /etc/httpd/conf/httpd.conf

配置文件目录:/etc/httpd/conf/httpd.conf

修改一下配置:
ExtendedStatus On

<Location /server-status>
    SetHandler server-status
    Order deny,allow
    Deny from all
    Allow from .example.com
    Allow from 192.168.3.0/24
    Allow from 127.0.0.1
    Allow from 192.168.3.150
</Location>

#查看主机的目前状态回复网页

http://192.168.3.150/server-status

网页内容:

Apache Server Status for 192.168.3.150

Server Version: Apache/2.2.3 (CentOS)
Server Built: Apr 4 2010 17:19:54 
。。。。。后面省略

#编辑/etc/logrotate.d/httpd文件,启用备份日志压缩
/var/log/httpd/*log {
    missingok
    notifempty
    sharedscripts
    postrotate
        /sbin/service httpd reload > /dev/null 2>/dev/null || true
    endscript
    compress //压缩备份日志
}

#用户端正常要求的记录日志
[root@localhost ~]# cat /var/log/httpd/access_log
 
#用户错误要求的数据,包括主机设置错误的信息等
[root@localhost ~]# cat /var/log/httpd/error_log

#重启apache
[root@localhost ~]# apachectl restart

#测试php
[root@localhost ~]# cat /var/www/html/phpinfo.php
<html>
 <head>
  <title>PHP ??</title>
 </head>
 <body>
 <?php echo '<p>Hello World</p>'; ?>
 </body>
</html>

#测试成功。就不上图了。

#关闭防火墙
[root@localhost ~]# service iptables stop
Flushing firewall rules:                                   [  OK  ]
Setting chains to policy ACCEPT: filter                    [  OK  ]
Unloading iptables modules:                                [  OK  ]

#apache 监听
[root@localhost ~]# netstat -tnl | grep 80
tcp        0      0 :::80                       :::*                        LISTEN

#启动mysql
[root@localhost ~]# /etc/init.d/mysqld start
Starting mysqld:                                           [  OK  ]

#查看mysql监听端口
[root@localhost ~]# netstat -tnl | grep 3306
tcp        0      0 0.0.0.0:3306                0.0.0.0:*                   LISTEN

#登录mysql,查询用户,修改用户密码

[root@localhost ~]# mysql -u root
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.0.95 Source distribution

Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema | 
| mysql              | 
| test               | 
+--------------------+
3 rows in set (0.04 sec)

mysql>

mysql> select user,host,password from mysql.user;
+------+-----------------------+----------+
| user | host                  | password |
+------+-----------------------+----------+
| root | localhost             |          | 
| root | localhost.localdomain |          | 
| root | 127.0.0.1             |          | 
|      | localhost             |          | 
|      | localhost.localdomain |          | 
+------+-----------------------+----------+
5 rows in set (0.00 sec)

mysql> set password for root@localhost=password('123456');
Query OK, 0 rows affected (0.00 sec)

mysql> set password for root@127.0.0.1=password('123456');
Query OK, 0 rows affected (0.00 sec)

mysql> set password for root@localhost.localdomain=password('123456');
Query OK, 0 rows affected (0.00 sec)

mysql> select user,host,password from mysql.user;
+------+-----------------------+------------------+
| user | host                  | password         |
+------+-----------------------+------------------+
| root | localhost             | 565491d704013245 | 
| root | localhost.localdomain | 565491d704013245 | 
| root | 127.0.0.1             | 565491d704013245 | 
|      | localhost             |                  | 
|      | localhost.localdomain |                  | 
+------+-----------------------+------------------+
5 rows in set (0.00 sec)

mysql> exit
Bye

#用空密码登录失败
[root@localhost ~]# mysql -u root
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

#通过密码登录
[root@localhost ~]# mysql -u root -p
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 7
Server version: 5.0.95 Source distribution

Copyright (c) 2000, 2011, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

mysql> select user,host from mysql.user;
+------+-----------------------+
| user | host                  |
+------+-----------------------+
| root | 127.0.0.1             | 
|      | localhost             | 
| root | localhost             | 
|      | localhost.localdomain | 
| root | localhost.localdomain | 
+------+-----------------------+
5 rows in set (0.00 sec)

#删除匿名用户
mysql> delete from mysql.user where user='';
Query OK, 2 rows affected (0.00 sec)

mysql> select user,host from mysql.user;
+------+-----------------------+
| user | host                  |
+------+-----------------------+
| root | 127.0.0.1             | 
| root | localhost             | 
| root | localhost.localdomain | 
+------+-----------------------+
3 rows in set (0.01 sec)

#刷新,使以上操作生效
mysql> flush privileges; 
Query OK, 0 rows affected (0.00 sec)

//-------------------------------------//
#发现主机连不上虚拟机的mysql数据库
注意需要在防火墙中开放3306的端口。

参考内容:
mysql远程连接 Host * is not allowed to connect to this MySQL server
http://www.111cn.net/database/mysql/45230.htm

解决此问题有以下2个方法:
localhost改成%
进入mysql的BIN目录

mysql> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
mysql> update user set host='%' where user='root';
ERROR 1062 (23000): Duplicate entry '%-root' for key 1
mysql> select user,host from mysql.user;
+------+-----------------------+
| user | host                  |
+------+-----------------------+
| root | %                     | 
| root | 127.0.0.1             | 
| root | localhost.localdomain | 
+------+-----------------------+
3 rows in set (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

mysql> select host,user from user where user='root';
+-----------------------+------+
| host                  | user |
+-----------------------+------+
| %                     | root | 
| 127.0.0.1             | root | 
| localhost.localdomain | root | 
+-----------------------+------+
3 rows in set (0.00 sec)

参考内容:
查询mysql版本信息
http://www.dreaminto.com/2011/0106/358.html

#查询mysql版本
mysql> status;
--------------
mysql  Ver 14.12 Distrib 5.0.95, for redhat-linux-gnu (i386) using readline 5.1

Connection id:          7
Current database:       mysql
Current user:           root@localhost
SSL:                    Not in use
Current pager:          stdout
Using outfile:          ''
Using delimiter:        ;
Server version:         5.0.95 Source distribution
Protocol version:       10
Connection:             Localhost via UNIX socket
Server characterset:    latin1
Db     characterset:    latin1
Client characterset:    latin1
Conn.  characterset:    latin1
UNIX socket:            /var/lib/mysql/mysql.sock
Uptime:                 26 min 58 sec

Threads: 3  Questions: 93  Slow queries: 0  Opens: 23  Flush tables: 1  Open tables: 17

Queries per second avg: 0.057
--------------

mysql> select version();
+-----------+
| version() |
+-----------+
| 5.0.95    | 
+-----------+
1 row in set (0.00 sec)

mysql>

mysql> exit
Bye

[root@localhost ~]# mysql -V
mysql  Ver 14.12 Distrib 5.0.95, for redhat-linux-gnu (i386) using readline 5.1

#查看mysql日志
[root@localhost ~]# cat /var/log/mysqld.log

#查看端口
[root@localhost ~]# netstat -tupln
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address               Foreign Address             State

PID/Program name   
tcp        0      0 0.0.0.0:3306                0.0.0.0:*                   LISTEN

6120/mysqld         
tcp        0      0 0.0.0.0:111                 0.0.0.0:*                   LISTEN

3466/portmap        
tcp        0      0 0.0.0.0:721                 0.0.0.0:*                   LISTEN

3507/rpc.statd      
tcp        0      0 127.0.0.1:631               0.0.0.0:*                   LISTEN

3714/cupsd          
tcp        0      0 127.0.0.1:25                0.0.0.0:*                   LISTEN

3814/sendmail: acce 
tcp        0      0 :::80                       :::*                        LISTEN

5061/httpd          
tcp        0      0 :::22                       :::*                        LISTEN

...........

#测试php连接mysql数据库

#创建测试脚本
[root@localhost ~]# vi /var/www/html/testdb.php

<?php
$con = mysql_connect("localhost","root","123456");
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }

// some code

$result = mysql_query("SHOW databases");
while($row = mysql_fetch_array($result))
{
echo $row[0].",";
}
mysql_free_result($result);

"/var/www/html/testdb.php" 24L, 304C written

#重启apache服务
[root@localhost ~]# service mysqld start
Starting mysqld:
                                           [  OK  ]
[root@localhost ~]#

网页显示:
information_schema,mysql,test,

#关机

[root@localhost ~]# halt

测试结束。

总结:

1. 手动启动服务:

#启动mysql数据库
[root@localhost ~]# /etc/rc.d/init.d/mysqld start

#启动Apache
[root@localhost /]# /etc/init.d/httpd start

#重启apache
[root@localhost ~]# apachectl restart

2.配置apache

#配置apache
[root@localhost ~]# vi /etc/httpd/conf/httpd.conf
配置文件目录:/etc/httpd/conf/httpd.conf

3. 防火墙

#关闭防火墙
[root@localhost ~]# service iptables stop

[root@localhost ~]# service iptables start

4. mysql

#用空密码登录失败
[root@localhost ~]# mysql -u root

#通过密码登录
[root@localhost ~]# mysql -u root -p

//--------------------------------------------------------------//

Apache的配置其实比较复杂,本文只是搭建了一个基础平台,实践工作中需要根据需求进行进一步的配置。

Apache配置目录下的httpd.conf比较重要,认真研究的话,里面有许多参数需要进行调整的,这个等以后有机会再去研究了。

以下摘抄了一份资料,以备日后查阅。

http://www.woaidiannao.com/html/ITjs/fwqjs/6724.html

apache主要目录结构及主要配置文件

本文主要讲述apache主要目录结构及主要配置文件

1.apache目录结构
[root@test apache]# tree -L 1
.
|-- bin       程序命令目录
|-- build
|-- cgi-bin
|-- conf      配置文件目录
|-- error
|-- htdocs    编译安装时站点目录
|-- icons
|-- include
|-- lib 
|-- logs       默认日志文件存放包括错误日志(error_log)和访问日志(access_log) tail -f access_log可以随时看访问记录, 里面httpd.pid还会记录主进程号
|-- man
|-- manual
`-- modules   模块目录  例如PHP  MEMCACHE编译后的模块在这里面

bin目录
[root@test bin]# tree
.
|-- ab                   apache http服务器性能压力测试工具,类似的jmeter  loadrunner  webbench
|-- apachectl            apache的启动命令
|-- apr-1-config
|-- apu-1-config
|-- apxs                 apache服务器编译和安装扩展的工具,在进行DSO方式模块编译时会用到例如编译PHP时就用到:--with-apxs2=/usr/local/apache/bin/apxs
|-- checkgid
|-- dbmmanage
|-- envvars
|-- envvars-std
|-- htcacheclean         清理磁盘缓存区的命令,一般少用
|-- htdbm
|-- htdigest
|-- htpasswd             建立更新基本认证文件  例如配置nagio监控时候会用到
|-- httpd                为apache的控制命令程序,apachectl执行的时候会调用到httpd
|-- httxt2dbm
|-- logresolve
`-- rotatelogs           apache自带日志轮换工具 ,也可以用到cronolog代替。

(本文来自 http://www.woaidiannao.com/html/ITjs/fwqjs/6724.html)

conf目录
[root@test conf]# tree
.
|-- extra                                辅助apache配置文件
|   |-- httpd-autoindex.conf
|   |-- httpd-dav.conf                   dav支持配置
|   |-- httpd-default.conf               apache相关服务配置 如超时时间 保持连接时间
|   |-- httpd-info.conf
|   |-- httpd-languages.conf             语言支持
|   |-- httpd-manual.conf
|   |-- httpd-mpm.conf                    服务器池管理,如apache模式配置 连接等
|   |-- httpd-multilang-errordoc.conf
|   |-- httpd-ssl.conf                    支持SSL加密配置
|   |-- httpd-userdir.conf
|   `-- httpd-vhosts.conf                 虚拟机配置文件
|-- httpd.conf                            主配置文件
|-- magic
|-- mime.types
`-- original

2  httpd.conf主配置文件
[root@test apache]# egrep -v "#.*|^$" /usr/local/apache/conf/httpd.conf
ServerRoot "/usr/local/apache2.2.22"   apache安装目录
Listen 80                              apache端口 
<IfModule !mpm_netware_module>
<IfModule !mpm_winnt_module>
User daemon                              apache运行用户
Group daemon                             apache运行组
</IfModule>
</IfModule>
ServerAdmin you@example.com              管理员邮箱
DocumentRoot "/usr/local/apache2.2.22/htdocs"   站点目录,注意最后不要加/线
<Directory />                            根目录权限
    Options FollowSymLinks               可以使用符号链接
    AllowOverride None
    Order deny,allow
    Deny from all
</Directory>
<Directory "/usr/local/apache2.2.22/htdocs"> 目录权限 注意Indexes的作用是允许浏览目录
    Options Indexes FollowSymLinks
    AllowOverride None                       禁止用户对目录配置文件.htaccess修改,一般为none
    Order allow,deny
    Allow from all
   
</Directory>
<IfModule dir_module>
    DirectoryIndex index.html                 站点目录首页文件多个文件用空格隔开
</IfModule>
<FilesMatch "^\.ht">                           防止WEB用户查看以.ht开头的隐藏文件
    Order allow,deny
    Deny from all
    Satisfy All
</FilesMatch>
ErrorLog "logs/error_log"                       错误日志
LogLevel warn                                    警告级别
<IfModule log_config_module>
    LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined 复合日志格式
    LogFormat "%h %l %u %t \"%r\" %>s %b" common    常规日志格式
    <IfModule logio_module>
      LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio  复合日志格式
    </IfModule>
    CustomLog "logs/access_log" common   默认访问日志格式
</IfModule>
<IfModule alias_module>
    ScriptAlias /cgi-bin/ "/usr/local/apache2.2.22/cgi-bin/"  CGI别名配置
</IfModule>
<IfModule cgid_module>
</IfModule>
<Directory "/usr/local/apache2.2.22/cgi-bin">            CGI权限访问路径
    AllowOverride None
    Options None
    Order allow,deny
    Allow from all
</Directory>
DefaultType text/plain   定义不能确定MIME类型时候使用默认MIME类型,如果服务主要包含text或HTML ,text/plain是一个好选择
<IfModule mime_module>
    TypesConfig conf/mime.types
    AddType application/x-compress .Z          允许信息在传输中使用mosaic/x 2.1+解压信息  但不是所有浏览器都支持
    AddType application/x-gzip .gz .tgz
</IfModule>
<IfModule ssl_module>
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
</IfModule>

(桌面图标有蓝底怎么去掉:电脑桌面图标有蓝色阴影http://www.woaidiannao.com/html/xwzx/6590.html )

3.虚拟主机http_vhost.conf配置文件
NameVirtuaHost *:80
表示基于名称的虚拟主机  *:80表示监听本机所有IP的80端口上提供HTTP服务,*可以设置为具体IP
<VirtualHost *:80>
serveradmin 管理员邮箱
servername  域名
serveralias 别名        可以设置多个域名指向同一个站点
errorlog    错误日志
customlog   访问日志
</VirtualHost>
虚拟主机的配置是局部优先原则,也就是http_vhost.conf配置了,那么就不会从主配置文件http.conf中读取了

apache主要目录结构及主要配置文件来自:http://www.woaidiannao.com/html/ITjs/fwqjs/6724.html

LAMP基础环境的搭建,即Linux、Apache、MySQL、PHP环境相关推荐

  1. linux yum php环境,centos下yum搭建安装linux+apache+mysql+php环境教程

    我们利用linux系统中yum安装apache+mysql+php是非常的简单哦,只需要几步就可以完成,具体如下: 一.脚本yum源安装: 1.yum install wget             ...

  2. linux+yum安装终端php,centos下yum搭建安装linux+apache+mysql+php环境教程

    我们利用linux系统中yum安装Apache+MySQL+PHP是非常的简单哦,只需要几步就可以完成,具体如下: 一.脚本YUM源安装: 1.yum install wget             ...

  3. LAMP(Linux+Apache+MySQL+PHP)环境介绍、配置、搭建

    文章目录 写在开头的话 LAMP的简要介绍 部署方式 LAMP环境搭建 环境准备 准备本地yum源 安装编译文件 关闭防火墙和SElinux 环境搭建 安装依赖包 安装 Apache 安装mysql ...

  4. linux nginx安装php5.5,linux下搭建LNMP(linux+nginx+mysql+php)环境之mysql5.5安装

    linux下搭建LNMP(linux+nginx+mysql+php)环境之mysql5.5安装: 首先安装依赖包: yum -y install gcc gcc-c++ autoconf libjp ...

  5. lnmp php 5.4,linux下搭建LNMP(linux+nginx+mysql+php)环境之php5.4安装

    安装准备:依赖包下载wget http://ah1.down.chinaz.com/201303/PHP-v5.4.13.tar.gz wget http://soft.7dot.com/soft/l ...

  6. CentOS 6.3下源码安装LAMP(Linux+Apache+Mysql+Php)环境

    转自:http://www.cnblogs.com/mchina/archive/2012/11/28/2778779.html 一.简介 什么是LAMP     LAMP是一种Web网络应用和开发环 ...

  7. CentOS6系统编译部署LAMP(Linux, Apache, MySQL, PHP)环境

    我们一般常规的在Linux服务器中配置WEB系统会用到哪种WEB引擎呢?Apache还是比较常用的引擎之一.所以,我们在服务器中配置LAMP(Linux, Apache, MySQL, PHP)是我们 ...

  8. 【树莓派】搭建LAMP(Linux Apache Mysql PHP)服务器

    基于树莓派搭建LAMP(Linux Apache Mysql PHP)服务器 配置树莓派 树莓派 连接WIFI 配置SSH 连接SSH 修改密码并解锁root用户 固定IP 调整服务器性能 Apach ...

  9. WEB平台架构之:LAMP(Linux+Apache+MySQL+PHP)

    WEB平台架构之:LAMP(Linux+Apache+MySQL+PHP)    从业界来看,最主流的web平台架构就当属LAMP了.LAMP架构可以说是一切web平台的基础架构,所有一切的所谓大型架 ...

  10. 阿里云服务器部署php的laravel项目,在阿里云买ECS 搭建 Linux+Nginx+Mysql+PHP环境的

    在阿里云买ECS的时候选择自己习惯的镜像系统,我一般都是使用Linux Ubuntu,所以,以下的配置都是在Ubuntu 14.04稳定支持版的环境中搭建Linux+Nginx+Mysql+PHP环境 ...

最新文章

  1. 简单尝试 express 使用 websocket
  2. 悟道—位IT高管20年的职场心经(读书笔记三)
  3. 《从零开始学Swift》学习笔记(Day 33)——属性观察者
  4. SAP CRM和SAP Hybris的action profile
  5. [渝粤教育] 广东-国家-开放大学 21秋期末考试中国近现代史纲要(A)10881k1 (2)
  6. 各种分页存储过程 (转)
  7. java版的中世纪战争_世界战争英雄设置-火焰纹章英雄英雄地图及AI命令设置
  8. ASP“.NET研究”.NET中的认证与授权
  9. solr 的 field, copyfield ,dynamic field
  10. linux使用c语言获取网关地址
  11. collect2: error: ld returned 1 exit status(Linux下Gcc编译问题)
  12. 英文期刊催稿信模板_英文投稿,询问进展,催稿 模版信
  13. 计算机为动态分区无法安装系统,磁盘动态分区形式的电脑怎么重装系统win10
  14. 微信小程序正则表达式截取_微信小程序实现简单input正则表达式验证功能示例...
  15. python 图片自动分类机_用tensorflow神经网络实现一个简易的图片分类器
  16. 霍兰德人格分析雷达图的两个坑
  17. scrapy模拟点击
  18. Java对dat文件内容进行查询_java读写dat文件
  19. \newpage与\clearpage的区别以及分页断行的多种方式,如何构造首字下沉的效果?
  20. 求连通图的关节点(割点)--C语言

热门文章

  1. float单精度浮点和double双精度浮点
  2. 【SPSS统计分析】运用spss软件进行问卷信度分析(附SPSS19.0简体中文版下载地址)
  3. pyinstaller打包exe文件的详细步骤及过程中遇到的问题
  4. 发布包到maven公共仓库图文教程(1) --- 注册账号和提交申请
  5. 详细讲解MySQL索引与联合索引
  6. AI:人工智能技术层企业简介(更新中)
  7. 长度短点的uuid_如何压缩UUID长度?
  8. C 语言字符数组的定义与初始化
  9. 0ada5c.html,打造创新的GS重点工作管理系统
  10. 虚实交融的元宇宙图景中社会科学的跃升