一、LAMP组合基础知识
二、WordPress、phpmyadmin安装
LAMP
linux
Apache(httpd)
MySQL
php、Python、perl、ruby等
A与P的组合:
CGI:common gateway interface 通用网关接口,可以理解为一个简化版的http协议,用于web服务器与php应用进程之间的通讯
client -->web server-->php-->web server--client;php进程生成和销毁都是由web server来去维护,所以web server就非常繁忙而效率低下
fast CGI:快速CGI,它的原理同CGI一样(client -->web server-->php-->web server--client)
但不同之处在于,web server启动的时候,它会启动一个fastcgi管理器,如phpfpm,同时启动多个包含php解释器的进程,从而形成一个由phpfpm管理的进程池,这样,在web server接收到一个请求时,会由phpfpm调度一个进程去执行,进程执行完以后不销毁而是继续回到phpfpm进程池中。省去了fork destory过程,性能得以提升
简单来说php想httpd那样生成多个进程监听在指定的套接字上,它是一个独立的服务,httpd接收到请求,通过协议发给php进程,由php执行完毕后交换httpd,最后httpd封装好交给客户端。这样的好处就是web server和php server能够分离,分别部署多台服务器中
module:client-->web server-->client,因为php已经是httpd的一个模块包含php解释器,可以执行php
FASTCGI与MODULE:这两种模式都有进程池的概念,性能上比CGI要高一些,区别在于一个进程池是web server的进程池,一个是php的进程池;FASTCGI这种模式下,可以比较好的分离动态和静态请求,php出了问题不会影响web server。
centos6中amp组合(rpm包):
httpd一般已经安装
#yum install httpd略
安装php
#yum install php
[root@www ~]# rpm -ql php
/etc/httpd/conf.d/php.conf
/usr/lib64/httpd/modules/libphp5.so
/var/lib/php/session
/var/www/icons/php.gif
可以看出,是以模块的方式结合httpd
安装mysql-server
#yum install mysql-server
mysql是一个CS机构的程序,所以安装的时候要指定安装服务端。不过MySQL客户端有依赖,所以会一并安装
service mysqld start MySQL程序的服务名叫做mysqld,它是一个单独的服务程序
安装php-mysql
这是一个php连接mysql的驱动接口
博客作业:
rpm包格式安装配置lamp,提供两个虚拟主机,一个用于WordPress,一个用于phpmyadmin,为后一个提供ssl访问方式
由于之前做过实验www.aaa.com www.bbb.com两个虚拟主机,其中www.bbb.com提供了ssl访问,现在将其改造一下:
www.aaa.com内容为WordPress
www.bbb.com为phpmyadmin并提供ssl访问
1、WordPress部分:
/etc/httpd/conf.d/aaa.conf内容:
<VirtualHost 172.20.1.100:80>
ServerAdmin webadmin@aaa.com
DocumentRoot /web/vhosts/aaa.com/
ServerName www.aaa.com
ServerAlias aaa.com
ErrorLog /var/log/httpd/aaa.err
CustomLog /var/log/httpd/aaa.access combined
</VirtualHost>
所以删除了原来的默认主页,新增测试
在/web/vhosts/aaa.com/中新建test.php,内容为:
测试php与mysql的连接
<?php
$link=mysql_connect("localhost","root","");
if(!$link) echo "FAILD!连接错误,用户名密码不对";
else echo "OK!可以连接";
?>
测试php版本等信息:
<?php
phpinfo();
?>
注意,index.php结尾要是.php,如果写成了html了,里面的代码则不能运行,它能识别后缀执行;测试OK~
下载WordPress并解压(过程略)
[root@www aaa.com]# ls
index.php wordpress wordpress-4.5.2-zh_CN.zip
[root@www aaa.com]# rm index.php
rm:是否删除普通文件 "index.php"?y
[root@www aaa.com]# mv wordpress/* .
[root@www aaa.com]# ls
index.php wordpress wp-admin wp-config-sample.php wp-includes wp-login.php wp-signup.php
license.txt wordpress-4.5.2-zh_CN.zip wp-blog-header.php wp-content wp-links-opml.php wp-mail.php wp-trackback.php
readme.html wp-activate.php wp-comments-post.php wp-cron.php wp-load.php wp-settings.php xmlrpc.php
[root@www aaa.com]#
默认mysql没有密码,因为是测试所以密码就随意了
mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('1qazXSW@');
打开网页开始安装WordPress
数据库名:wordpress
用户名:root
密码:1qazXSW@
数据库主机:localhost
表前缀:wp_
安装过程会有报错,因为数据库WordPress不存在,新建:
[root@www aaa.com]# mysql -uroot -p123456
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 5
Server version: 5.1.73 Source distribution
Copyright (c) 2000, 2013, 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> create database wordpress; ##创建数据库
Query OK, 1 row affected (0.00 sec)
mysql>
其实也可以修改wp-config.php,设定好数据库、用户名、密码等;不过要事先创建好这些,现在对mysql还不太会用,所以使用安装向导自动创建
过程还会有报错,不能写入文件,修改权限:
[root@www vhosts]# chmod 777 -R aaa.com
如果不出意外,则现在到了一个“欢迎”,设置站点,用户名,密码等信息。填写完成后“安装WordPress”
2、phpmyadmin部分,并使用ssl访问
修改/etc/httpd/conf.d/ssl.conf,修改部分:
<VirtualHost 172.20.1.100:443>
DocumentRoot "/web/vhosts/bbb.com/phpmyadmin/" ##主页路径
ServerName www.bbb.com:443 ##站点的servername
ErrorLog logs/ssl_error_log ##错误日志存放路径
TransferLog logs/ssl_access_log ##访问日志存放路径
LogLevel warn
SSLCertificateFile /etc/httpd/ssl/http.crt ##证书路径
SSLCertificateKeyFile /etc/httpd/ssl/http.key ##密钥路径
因为之前有做个ssl的测试,所以之前的证书和密钥能继续使用
在实验过程中,自行下载了最新版本phpMyAdmin-4.6.1-all-languages,提示PHP 5.5+ is required. Currently installed version is: 5.3.3
提示需要php5.5以上的版本,当前版本为5.3.3。所以又重现下载了phpMyAdmin 4.0.10.15,可正常使用
如果有报错找不到mbstring,yum安装php-mbstring即可,重读httpd配置文件或重启httpd服务。
吐槽一下猎豹,使用猎豹浏览器打开时输入账号密码,无法登陆而且无报错提示,更换Google浏览器可正常登陆。