虽然我使用了LAMP这一组软件来搭建网站服务器有一段时间了,但我对为什么选用LAMP一直不求甚解,今天看了慕课网上的相关课程,特意来简单总结一下。
关于Ubuntu版本
LTS版本 提供至少四年的更新服务
普通版本 提供至少半年的更新服务
LAMP详解
经过多年的Web技术发展,在业内被广泛使用的一种Web服务器解决方案之一(LNMP也非常受欢迎),由一些独立地系统或软件组合而成。
通常理解为Linux + Apache + MySQL + PHP。
linux适合和php,java,python等来配合,linux系统稳定,漏洞少,非常适合作为服务器操作系统的选择。
开源、稳定、模块丰富是Apache的优势。但Apache的缺点是有些臃肿,内存和CPU开销大,性能上有损耗,不如一些轻量级的Web 服务器(例如nginx)高效,轻量级的Web服务器对于静态文件的响应能力来说远高于Apache服务器。和PHP搭配的话,优先选用Apache;进行负载均衡时,优先选用Nginx。
Oracle和DB2很昂贵,SQLite使用于小型应用,存个电话号码之类的。MySQL开源免费,只要数据库设计得合理,再配合集群,几千万条的数据量对它而言还是比较轻松的。
PHP是一种弱类型语言,上手快,兼容Linux。
经过业内长时间的积累,从系统性能,运营成本等方面综合考虑,就形成了Lamp。
Ubuntu Server管理员权限解读
为了安全,Ubuntu官方不推荐使用root账户远程登陆,在安装系统的过程中,要求安装一个不同于root的普通账户。这会导致两个问题:
1.普通账户没有管理员权限;
2.默认情况下ROOT账户无法登陆。
解决方法
su (Switch User) 切换到超级管理员
sudo(Switch User and Do)以超级管理员身份执行
两个命令区别
su命令
当前用户身份完全切换到root账户,使用root账户密码登录,除非执行exit退出登录,否则超级权限将一直有效。
sudo命令
当前用户身份没有改变,使用自身密码获取授权;超级权限是临时的。
区别:
使用su命令所有管理员都必须知道root账号的密码;
sudo使得普通管理员使用自己的密码也可以获得超级管理员权限;
sudo弥补了su产生的多账号安全问题。
操作Ubuntu的预备知识
命令行
-pjc @ localhost : ~ $
-用户名 @ 主机名 : 当前目录 用户类型标记
-$表示普通用户,#表示超级管理员
使用非root账号设置root密码
sudo passwd root
切换到root账号
su
更新软件源
sudo apt-get update
安装软件
sudo apt-get install 软件名
快速安装lamp-server环境
sudo tasksel install lamp-server
安装常用PHP扩展包
sudo apt-get install php5-gd curl libcurl3 libcurl3-dev php5-curl
LAMP环境配置-概述
1.Ubuntu系统配置文件目录:/etc
2.各组件配置文件位置
-Apache /etc/apache2
-MySQL /etc/mysql
-PHP /etc/php5
配置文件加载流程如下:
上面的流程图中的核心配置
-mods-*** Apache模块
-sites-*** 虚拟主机
关键词available可以使用的;enabled 已启用的。我们可以使用 ln -s 命令建立软连接,启用available里面的功能模块。
MySQL与PHP
核心配置
MySQL核心配置文件 my.cnf
PHP核心配置文件 php.ini
默认情况下,出于安全的考虑,MySQL在初始状态下不允许远程连接,只允许服务器内部应用的本地连接。可以在my.cnf里面修改相应参数使其可以允许公网访问