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

本文涉及的产品
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
RDS AI 助手,专业版
简介:

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,如需转载请自行联系原作者

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。 &nbsp; 相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情:&nbsp;https://www.aliyun.com/product/rds/mysql&nbsp;
相关文章
|
9月前
|
Ubuntu PHP
Ubuntu下使用apt为Apache2编译PHP7.1
以上就是在Ubuntu系统下,使用apt为Apache2编译PHP7.1的过程。希望这个过程对你有所帮助,如果你在执行过程中遇到任何问题,都可以在网上找到相关的解决方案。
230 25
|
9月前
|
Ubuntu PHP Apache
在Ubuntu系统中为apt的apache2编译PHP 7.1的方法
以上就是在Ubuntu系统中为apt的apache2编译PHP 7.1的方法。希望这个指南能帮助你成功编译PHP 7.1,并在你的Apache服务器上运行PHP应用。
251 28
|
10月前
|
Ubuntu PHP 数据库
|
安全 PHP 开发者
php中配置variables_order详解
`variables_order` 是 PHP 配置中的一个关键指令,它决定了不同来源的变量被导入到全局变量空间的顺序。正确配置 `variables_order` 不仅可以确保变量的正确处理和覆盖顺序,还能提高应用程序的安全性。开发者应根据具体应用的需求,合理配置 `variables_order`,确保应用的稳定和安全运行。
167 5
|
存储 分布式计算 druid
大数据-152 Apache Druid 集群模式 配置启动【下篇】 超详细!(一)
大数据-152 Apache Druid 集群模式 配置启动【下篇】 超详细!(一)
236 1
大数据-152 Apache Druid 集群模式 配置启动【下篇】 超详细!(一)
|
监控 PHP Apache
优化 PHP-FPM 参数配置:实现服务器性能提升
优化PHP-FPM的参数配置可以显著提高服务器的性能和稳定性。通过合理设置 `pm.max_children`、`pm.start_servers`、`pm.min_spare_servers`、`pm.max_spare_servers`和 `pm.max_requests`等参数,并结合监控和调优措施,可以有效应对高并发和负载波动,确保Web应用程序的高效运行。希望本文提供的优化建议和配置示例能够帮助您实现服务器性能的提升。
829 3
|
Ubuntu PHP 开发者
如何在Ubuntu中切换多个PHP版本
通过上述步骤,您不仅能够高效地在Ubuntu系统中安装和切换PHP版本,还能根据项目需求灵活配置,大大提升开发效率与灵活性。更多关于服务器配置与优化的信息,获取全面的技术支持与解决方案。
399 1
|
缓存 前端开发 应用服务中间件
CORS跨域+Nginx配置、Apache配置
CORS跨域+Nginx配置、Apache配置
747 7
|
3月前
|
人工智能 数据处理 API
阿里云、Ververica、Confluent 与 LinkedIn 携手推进流式创新,共筑基于 Apache Flink Agents 的智能体 AI 未来
Apache Flink Agents 是由阿里云、Ververica、Confluent 与 LinkedIn 联合推出的开源子项目,旨在基于 Flink 构建可扩展、事件驱动的生产级 AI 智能体框架,实现数据与智能的实时融合。
657 6
阿里云、Ververica、Confluent 与 LinkedIn 携手推进流式创新,共筑基于 Apache Flink Agents 的智能体 AI 未来
|
存储 Cloud Native 数据处理
从嵌入式状态管理到云原生架构:Apache Flink 的演进与下一代增量计算范式
本文整理自阿里云资深技术专家、Apache Flink PMC 成员梅源在 Flink Forward Asia 新加坡 2025上的分享,深入解析 Flink 状态管理系统的发展历程,从核心设计到 Flink 2.0 存算分离架构,并展望未来基于流批一体的通用增量计算方向。
409 0
从嵌入式状态管理到云原生架构:Apache Flink 的演进与下一代增量计算范式