Ubuntu 14.04配置LAMP(Linux、Apache、MySQL、PHP)

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介:

1.配置Apache

(1)调整KeepAlive设置(参考[1][2]):

在内存非常充足的服务器上,不管是否关闭 KeepAlive 功能,服务器性能不会有明显变化;

如果服务器内存较少,或者服务器有非常大量的文件系统访问时,或者主要处理动态网页服务,关闭 KeepAlive 后可以节省很多内存,而节省出来的内存用于文件系统Cache,可以提高文件系统访问的性能,并且系统会更加稳定。

文件:/etc/apache2/apache2.conf

KeepAlive Off

(2)配置multi-processing module(MPM)(参考[3]

Apache默认MPM是Event module,PHP使用Prefork module。

文件:/etc/apache2/mods-available/mpm_prefork.conf

下边的配置比较适合1GB Linode VPS

复制代码
<IfModule mpm_prefork_module>
    StartServers        2
    MinSpareServers     6
    MaxSpareServers     12
    MaxClients          30
    MaxRequestsPerChild 3000
</IfModule>
复制代码

(3)停用Event module,启用Prefork module

sudo a2dismod mpm_event
sudo a2enmod mpm_prefork

(4)重启Apache

sudo service apache2 restart

2. 配置虚拟主机(Virtual Hosts)

配置虚拟主机的方法有很多,下边是推荐的方法。默认情况下,Apache监听所有能够访问它的IP地址。

(1)在目录 /etc/apache2/sites-available/ 目录,为你的网站创建一个新的配置文件 example.com.conf ,使用你自己的域名替换掉 example.com 

文件:/etc/apache2/sites-available/example.com.conf 

复制代码
<VirtualHost *:80> 
     ServerAdmin webmaster@example.com
     ServerName example.com
     ServerAlias www.example.com
     DocumentRoot /var/www/html/example.com/public_html/
     ErrorLog /var/www/html/example.com/logs/error.log 
     CustomLog /var/www/html/example.com/logs/access.log combined
     <Directory /path/to/public/website/>
        Require all granted
     </Directory>
</VirtualHost>
复制代码

注解:建议ErrorLog和CustomLog入口尽可能细粒度(详细划分)

注意!:如果配置了ErrorLog和CustomLog(例如上边那样),那么在重启Apache之前,你要确保路径logs是存在的。

(2)创建目录:

sudo mkdir -p /var/www/html/example.com/public_html
sudo mkdir /var/www/html/example.com/logs

(3)把你的虚拟主机文件从sites-available目录链接到sites-enable目录:

sudo a2ensite example.com.conf

注意:如果你稍后需要移除这个站点,运行:

sudo a2dissite example.com.conf

(4)重新加载Apache

sudo service apache2 reload

3. 创建MySQL数据库

(1)登录

mysql -u root -p 

(2)创建数据库以及一个授权用户(例如创建一个webdata数据库,用户名为:webuser,密码为:password):

create database webdata; 
grant all on webdata.* to 'webuser' identified by 'password'; 

(3)退出MySQL:

quit

4.配置PHP

(1)配置文件: /etc/php5/apache2/php.ini 

配置更多的错误描述,日志以及性能。

error_reporting = E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR
error_log = /var/log/php/error.log
max_input_time = 30

注意:确保上边几行没有被注释掉。注释行以分号开头(;)

(2)为PHP建log目录并赋予Apache所有权:

sudo mkdir /var/log/php
sudo chown www-data /var/log/php

(3)重新加载Apache:

sudo service apache2 reload

总结:现在已经知道Apache和PHP的配置文件位置以及方法,多了解一下配置参数,可以配置出更适合自己网站的站点。


本文转自ZH奶酪博客园博客,原文链接:http://www.cnblogs.com/CheeseZH/p/4694333.html,如需转载请自行联系原作者

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
2月前
|
安全 关系型数据库 MySQL
PHP与MySQL交互:从入门到实践
【9月更文挑战第20天】在数字时代的浪潮中,掌握PHP与MySQL的互动成为了开发动态网站和应用程序的关键。本文将通过简明的语言和实例,引导你理解PHP如何与MySQL数据库进行对话,开启你的编程之旅。我们将从连接数据库开始,逐步深入到执行查询、处理结果,以及应对常见的挑战。无论你是初学者还是希望提升技能的开发者,这篇文章都将为你提供实用的知识和技巧。让我们一起探索PHP与MySQL交互的世界,解锁数据的力量!
|
2月前
|
NoSQL 关系型数据库 MySQL
不是 PHP 不行了,而是 MySQL 数据库扛不住啊
【9月更文挑战第8天】这段内容讨论了MySQL在某些场景下面临的挑战及其原因,并指出这些问题不能完全归咎于MySQL本身。高并发读写压力、数据量增长以及复杂查询和事务处理都可能导致性能瓶颈。然而,应用程序设计不合理、系统架构不佳以及其他数据库选择和优化策略不足也是重要因素。综合考虑这些方面才能有效解决性能问题,而MySQL通过不断改进和优化,仍然是许多应用场景中的可靠选择。
124 9
|
5天前
|
存储 关系型数据库 MySQL
PHP与MySQL动态网站开发深度解析####
本文作为技术性文章,深入探讨了PHP与MySQL结合在动态网站开发中的应用实践,从环境搭建到具体案例实现,旨在为开发者提供一套详尽的实战指南。不同于常规摘要仅概述内容,本文将以“手把手”的教学方式,引导读者逐步构建一个功能完备的动态网站,涵盖前端用户界面设计、后端逻辑处理及数据库高效管理等关键环节,确保读者能够全面掌握PHP与MySQL在动态网站开发中的精髓。 ####
|
6天前
|
关系型数据库 MySQL PHP
PHP与MySQL动态网站开发实战指南####
本文深入探讨了PHP与MySQL在动态网站开发中的应用实践,通过具体案例解析如何高效结合这两大技术构建数据驱动的Web应用。文章将涵盖环境搭建、基础语法回顾、数据库设计与操作、用户注册与登录系统实现等关键步骤,旨在为开发者提供一个从零到一的项目实战路径,展示PHP与MySQL协同工作的强大能力。 ####
|
25天前
|
SQL 关系型数据库 MySQL
PHP与MySQL协同工作的艺术:开发高效动态网站
在这个后端技术迅速迭代的时代,PHP和MySQL的组合仍然是创建动态网站和应用的主流选择之一。本文将带领读者深入理解PHP后端逻辑与MySQL数据库之间的协同工作方式,包括数据的检索、插入、更新和删除操作。文章将通过一系列实用的示例和最佳实践,揭示如何充分利用这两种技术的优势,构建高效、安全且易于维护的动态网站。
|
29天前
|
并行计算 Ubuntu Linux
Ubuntu学习笔记(三):Linux下操作指令大全
Ubuntu学习笔记,介绍了Linux操作系统中常用的命令和操作,如文件管理、系统信息查看、软件安装等。
44 3
|
1月前
|
Ubuntu Linux 网络安全
如何在Ubuntu 22.04或20.04 Linux上安装MobaXterm
虽然直接在Ubuntu 22.04或20.04上安装MobaXterm是不可能的任务,因为它是专为Windows设计的,但Ubuntu系统提供了丰富的原生工具和替代方案,足以满足远程管理、文件传输等需求。如果你对MobaXterm的特定功能有强烈需求,考虑采用Windows子系统或虚拟机方案作为折衷方案,不失为一种可行之道。在追求高效工作流的同时,不妨也探索和熟悉Linux原生工具,它们往往能提供更为无缝的集成体验。
524 0
|
18天前
|
运维 安全 Linux
Linux中传输文件文件夹的10个scp命令
【10月更文挑战第18天】本文详细介绍了10种利用scp命令在Linux系统中进行文件传输的方法,涵盖基础文件传输、使用密钥认证、复制整个目录、从远程主机复制文件、同时传输多个文件和目录、保持文件权限、跨多台远程主机传输、指定端口及显示传输进度等场景,旨在帮助用户在不同情况下高效安全地完成文件传输任务。
126 5
|
17天前
|
Linux
Linux系统之expr命令的基本使用
【10月更文挑战第18天】Linux系统之expr命令的基本使用
59 4
|
4天前
|
缓存 监控 Linux
下一篇
无影云桌面