ZH奶酪:Ubuntu 14.04安装LAMP(Linux,Apache,MySQL,PHP) 之前已经介绍过LAMP的安装,这边文章主要讲解一下LAMP的配置。

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
MinSpareServers
MaxSpareServers
MaxClients
MaxRequestsPerChild
</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 *:>
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 =

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

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

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

(3)重新加载Apache:

sudo service apache2 reload

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

参考链接:How to Install a LAMP Stack on Ubuntu 14.04

ZH奶酪:Ubuntu 14.04配置LAMP(Linux、Apache、MySQL、PHP)的更多相关文章

  1. Linux Ubuntu 14.04安装LAMP(Apache+MySQL+PHP)网站环境

    从虚拟主机到VPS/服务器的过度,对于普通的非技术型的站长用户来说可能稍许有一些困难,麦子建议我们如果能够在虚拟主机环境中满足建站需要的, 还是用虚拟主机比较好.除非我们真的有需要或者希望从虚拟主机过 ...

  2. Centos下安装配置LAMP(Linux+Apache+MySQL+PHP)

    Centos下安装配置LAMP(Linux+Apache+MySQL+PHP)   关于LAMP的各种知识,还请大家自行百度谷歌,在这里就不详细的介绍了,今天主要是介绍一下在Centos下安装,搭建一 ...

  3. ZH奶酪:Ubuntu 14.04安装LAMP(Linux,Apache,MySQL,PHP)

    (Linux Operating System,Apache Web Server,MySQL database,PHP) 首先,一个三行命令搞定的方法: sudo apt-get update su ...

  4. Ubuntu 14.04 配置 LAMP+phpMyAdmin PHP开发环境!

             先安装 Apache Web服务器,终端:sudo apt-get install apache2  apache2-doc,然后测试是否安装成功.浏览器地址栏输入:http://l ...

  5. Ubuntu 14.04 配置samba

    Ubuntu 14.04 配置samba: 安装略 # vi /etc/samba/smb.conf security = user  (在[global]下任意添加) [share] path = ...

  6. CentOS 6.3下源码安装LAMP(Linux+Apache+Mysql+Php)环境【转载】

    本文转载自 园友David_Tang的博客,如有侵权请联系本人及时删除,原文地址: http://www.cnblogs.com/mchina/archive/2012/11/28/2778779.h ...

  7. 记录在Ubuntu 18.04系统中安装Apache, MySQL和PHP环境

    虽然我们在Linux VPS.服务器安装WEB环境比较方便,可以选择面板或者一键包,但是有些我们需要深入学习的网友不会选择一键安装,而是会尝试编译安装.这样可以学到一些内在的技术.一般我们较为习惯选择 ...

  8. Lamp(linux+apache+mysql+php)环境搭建

    Lamp(linux+apache+mysql+php)环境搭建 .安装apache2:sudo apt-get installapache2 安装完毕后.执行例如以下命令重新启动apache:sud ...

  9. Debian7配置LAMP(Apache/MySQL/PHP)环境及搭建建站

    完整Debian7配置LAMP(Apache/MySQL/PHP)环境及搭建建站 第一.安装和配置Apache Web服务器 运行升级命令来确保我们的系统组件各方面都是最新的. apt-get upd ...

随机推荐

  1. 标记 {x:Null},d:DesignWidth,d:DesignHeight

    {x:Null}:用于设置某属性值为Null,比如<Rectangle Fill="{x:Null}" />,其实就相当于<Rectangle />,个人感 ...

  2. Windows Phone本地数据库(SQLCE):10、创建数据库(翻译) (转)

    这是“windows phone mango本地数据库(sqlce)”系列短片文章的第十篇. 为了让你开始在Windows Phone Mango中使用数据库,这一系列短片文章将覆盖所有你需要知道的知 ...

  3. 深入理解golang 的栈

    线程栈(thread stacks)介绍 先回顾下linux的内存空间布局   简书_stack02.png 当启动一个C实现的thread时,C标准库会负责分配一块内存作为这个线程的栈.标准库分配这 ...

  4. java.lang.ThreadLocal类

    一.概述        ThreadLocal是什么呢?其实ThreadLocal并非是一个线程的本地实现版本,它并不是一个Thread,而是threadlocalvariable(线程局部变量).也 ...

  5. Java分布式系统高并发解决方案

    对于我们开发的网站,如果网站的访问量非常大的话,那么我们就需要考虑相关的并发访问问题了.而并发问题是绝大部分的程序员头疼的问题, 但话又说回来了,既然逃避不掉,那我们就坦然面对吧~今天就让我们一起来研 ...

  6. versionCode溢出的问题

    android应用的版本主要由versionCode和versionName来决定,android系统是根据versionCode来验证新的apk是否能安装.如果已安装高版本的应用,就无法使用覆盖安装 ...

  7. Table中collapseColumns,stretchColumns

    collapseColumns  设置需要被隐藏的列序号(序号从0开始) shrinkColumns     设置允许被首夺的列的序号(序号从0开始) stretchColumns    设置允许被拉 ...

  8. Orchard之模版开发

    生成新模版之后(参看:Orchard之生成新模板),紧接着就是模版开发了. 一:开发必备之 Shape Tracing 到了这一步,非常依赖一个工具,当然,它也是 Orchard 项目本身的一个 Mo ...

  9. IaaS,SaaS,PaaS的区别

        你一定听说过云计算中的三个“高大上”的你一定听说过云计算中的三个“高大上”的概念:IaaS.PaaS和SaaS,这几个术语并不好理解.不过,如果你是个吃货,还喜欢披萨,这个问题就好解决了!好吧 ...

  10. Asp.netMVC中Html.Partial,RenderPartial,Action,RenderAction区别和用法

    https://www.2cto.com/kf/201702/602449.html Partial 和RenderPartial: 这两个的性质都是一样, 只指把一个个View给镶入进来, 只是回传 ...