ZH奶酪:Ubuntu 14.04安装LAMP(Linux,Apache,MySQL,PHP) 之前已经介绍过LAMP的安装,这边文章主要讲解一下LAMP的配置。
1.配置Apache
在内存非常充足的服务器上,不管是否关闭 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的配置文件位置以及方法,多了解一下配置参数,可以配置出更适合自己网站的站点。