独立安装 lamp 兄弟连
一直都是照葫芦画瓢的装,唯有这次,是凭自己之力,甩掉拐杖安装.
这4个兄弟,我们都明白, 让这几个兄弟好好运行,还需要好好揣摩一下.
在哪个系统上安装是不重要的,重要的是安装思想. 这里是以ubuntu16来安装的,
对应到安装的具体差异,可能就是版本号不同了.
linux 自不必说. 基础环境.
但后面三个apache,php,mysql它们三个之间的关系,还需要再拨一拨.
apache是一种网络服务器端软件,负责将页面呈现在用户的浏览器上。
php是一种网络编程语言(服务端脚本语言), 用以生成动态网页
mysql是一种数据库软件,负责存储数据
apache 要想支持动态网页,需要安装一个沟通apache,php扩展模块,这样apache才能调用到php的结果.
php 要想访问mysql 接口,也需要安装一个功能扩展模块
下面看看具体过程
1. apache. 网页服务器,安装.
安装完后用ps -ef 查看, 有3个进程
root 3568 1 0 16:28 ? 00:00:00 /usr/sbin/apache2 -k start
www-data 3571 3568 0 16:28 ? 00:00:00 /usr/sbin/apache2 -k start
www-data 3572 3568 0 16:28 ? 00:00:00 /usr/sbin/apache2 -k start
用网页访问,可以看到欢迎页面.
你可以大致浏览一下apache配置文件/etc/apache2/apache2.conf, 增加点全局感!
欢迎界面主要也是讲配置,你可以浏览一下/etc/apach2 目录,关注一下envvars文件
2. php 安装
安装完后用php --version 可以查看一下版本号
让apache 与php 建立关联. 这需要安装一个apache 扩展模块,apt-cache搜索可知libapache2-mod-php
我们看见它的配置文件为:
/etc/php/7.0/apache2/php.ini
看了一眼还挺复杂, 有空再细研究.
同时还使能了不少module.
好,现在验证一下吧!
a: 关联了php, apache 进程数已经长到6个了.
root 11854 1 0 16:44 ? 00:00:00 /usr/sbin/apache2 -k start
www-data 11857 11854 0 16:44 ? 00:00:00 /usr/sbin/apache2 -k start
www-data 11858 11854 0 16:44 ? 00:00:00 /usr/sbin/apache2 -k start
www-data 11859 11854 0 16:44 ? 00:00:00 /usr/sbin/apache2 -k start
www-data 11860 11854 0 16:44 ? 00:00:00 /usr/sbin/apache2 -k start
www-data 11861 11854 0 16:44 ? 00:00:00 /usr/sbin/apache2 -k start
b: 网页访问一个php 网页.
在apache 网页根目录书写一个简单的php文件 叫info.php <?php phpinfo(); ?>
然后从网*问,应能看到页面. 果然,用网页看比控制台看内容好多了.!
everything is ok , then 开始安装数据库
3. mysql 安装
当然,应该安装mysql-server, 它捎带也把mysql-client也安装了.
安装过程中会要求输入mysql root用户的密码,你就设一个记住就好了,以后登陆用.
既然也是服务,我们看看多了什么进程
mysql 14942 1 0 17:28 ? 00:00:00 /usr/sbin/mysqld
mysql 服务已经运行.
现在你可以用命令行登陆服务器把玩一下了.
4. 让php 访问mysql
编写mysql.php, 去访问mysql,如下,
注意用户名"root",密码"123456" 根据你自己的设置修改.
<?php
$con = mysqli_connect("localhost","root","123456");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
echo "mysql connected!\n";
mysqli_close($con);
?>
运行php mysql.php 出现错误提示: Call to undefined function mysqli_connect()
这是因为默认的php 安装并没有安装对mysql 的支持.
查包名称为php-mysql, 想让php 支持mysql接口,需要这个模块.
从7.0以后, mysql_connect 就改成mysqli_connect 了.
安装php-mysql
注意配置文件:
Creating config file /etc/php/7.0/mods-available/mysqlnd.ini with new version
其实,你到mods-available 中看一看,默认已经安装过不少modules 呢.
浏览一下目录结构,嗯,原来很多功能都在这里.
然后运行 php mysql.php, 通过
从网页*问, 诧异,没有输出! 查apache log, 发现
Uncaught Error: Call to undefined function mysqli_connect()
重启动apache 服务,再访问就通过了.!
是不是很easy.!