Debian 7 (Wheezy)安装LEMP(Nginx MySQL PHP)

安装前提

在安装web应用套件之前,执行如下命令来确保你的系统软件包数据库是最新的,且已安装的软件更新为最新版本

  1. sudo apt-get update
  2. sudo apt-get upgrade

安装Nginx Web服务器

有两种切实可行,且比较受欢迎安装Nginx的方式。这里用的方法是从Debian官方维护的软件仓库获取Nginx软件包,官方提供一个稳定版本和测试版本的Nginx。另一个可选的安装方式是从Debian Backports项目获取,Backports提供的软件包比Debian官方的版本新,但Backports可能在维护和支持上不如Debian官方。
执行如下命令安装Nginx

  1. sudo apt-get install nginx

配置Nginx虚拟主机

你需要配置server块来配置虚拟主机。由于使用了Debian官方维护的Nginx,我们在这个文件创建虚拟主机配置/etc/nginx/sites-available/example.com:
/etc/nginx/sites-available/example.com

  1. server {
  2.     listen   80;
  3.     server_name www.example.com example.com;
  4.     access_log /srv/www/example.com/logs/access.log;
  5.     error_log /srv/www/example.com/logs/error.log;
  6.  
  7.     location / {
  8.         root   /srv/www/example.com/public_html;
  9.         index  index.html index.htm;
  10.     }
  11. }

创建与以上配置文件相关的目录(确保example.com域名替换为你的)

  1. sudo mkdir -p /srv/www/example.com/{public_html,logs}

执行以下命令激活虚拟主机,以及重启web服务器

  1. sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled
  2. sudo /etc/init.d/nginx restart

想要禁用刚才的网站,仅仅需要输入如下命令来删除软链接。

  1. sudo rm /etc/nginx/sites-enabled/example.com
  2. sudo /etc/init.d/nginx restart

配置PHP以FastCGI运行

为了配置PHP程序,你需要按照如下的方法来使nginx能正常处理php页面。在配置之前,执行如下命令来安装所需的安装包:

  1. sudo apt-get install php5-cli php5-cgi spawn-fcgi php-pear

依顺序执行如下命令来下载PHP-FastCGI封装脚本,配置控制进程的init脚本,首次启动及设置开机启动:

  1. cd /opt/
  2. sudo wget -O php-fastcgi-deb.sh http://www.linode.com/docs/assets/1548-php-fastcgi-deb.sh
  3. sudo mv /opt/php-fastcgi-deb.sh /usr/bin/php-fastcgi
  4. sudo chmod +x /usr/bin/php-fastcgi
  5. sudo wget -O init-php-fastcgi-deb.sh http://www.linode.com/docs/assets/1549-init-php-fastcgi-deb.sh
  6. sudo mv /opt/init-php-fastcgi-deb.sh /etc/init.d/php-fastcgi
  7. sudo chmod +x /etc/init.d/php-fastcgi
  8. sudo /etc/init.d/php-fastcgi start
  9. sudo update-rc.d php-fastcgi defaults

以下是一个nginx虚拟主机示例配置。按你的要求调整路径及替换example.com域名
/etc/nginx/sites-available/example.com:

  1. server {
  2.     server_name www.example.com example.com;
  3.     access_log /srv/www/example.com/logs/access.log;
  4.     error_log /srv/www/example.com/logs/error.log;
  5.     root /srv/www/example.com/public_html;
  6.  
  7.     location / {
  8.         index index.html index.htm index.php;
  9.     }

另外,还需要确保location ~ .php$ { }代码块在此虚拟主机配置来处理php请求:

  1. location ~ .php$ {
  2.     include /etc/nginx/fastcgi_params;
  3.     fastcgi_pass  127.0.0.1:9000;
  4.     fastcgi_index index.php;
  5.     fastcgi_param SCRIPT_FILENAME /srv/www/example.com/public_html$fastcgi_script_name;
  6. }

当修改配置完成后,重启Nginx:

  1. /etc/init.d/nginx restart

安装MySQL

1.执行如下命令来安装MySQL server包及PHP支持MySQL的包

  1. sudo apt-get install mysql-server php5-mysql

2.设置root密码,尽量设置一个复杂的密码以保证安全。
3.执行如下命令来加固MySQL

  1. sudo mysql_secure_installation

4.如果以后想重置root密码,执行如下命令:

  1. dpkg-reconfigure mysql-server-5.0

5.重启php-fastcgi以让php支持mysql

  1. sudo /etc/init.d/php-fastcgi restart

Arch Linux安装配置LAMP服务器

安装前

更新下系统

  1. sudo pacman -Syu

Apache

安装配置

1.安装Apache 2.4

  1. sudo pacman -Syu apache

2.编辑/etc/httpd/conf/extra/下的httpd-mpm.conf,调整资源使用配置,下面的配置是针对2GB服务器优化的:
/etc/httpd/conf/extra/httpd-mpm.conf:

  1. <IfModule mpm_prefork_module>
  2.         StartServers            4
  3.         MinSpareServers         20
  4.         MaxSpareServers         40
  5.         MaxRequestWorkers       200
  6.         MaxConnectionsPerChild  4500
  7. </IfModule>

3.编辑httpd-default.conf来关闭KeepAlive
/etc/httpd/conf/extra/httpd-default.conf

  1. KeepAlive Off

4.设置Apache开机启动

  1. sudo systemctl enable httpd.service

配置虚拟主机

虚拟主机可以配置多个域名。这些网站可以使用不同的用户来管理,或者一个用户,看你选择了。有许多种方法来配置虚拟主机,不过推荐使用下面的方法。
1.打开httpd.conf,编辑行DocumentRoot /srv/http来设置根目录:
/etc/httpd/conf/httpd.conf:

  1. DocumentRoot "/srv/http/default"

2.找到在/etc/httpd/conf/httpd.conf文件底部的Include conf/extra/httpd-vhosts.conf,取消其注释:
/etc/httpd/conf/httpd.conf

  1. Include conf/extra/httpd-vhosts.conf

3.打开在extra目录下的httpd-vhosts.conf,编辑虚拟主机示例配置,把example.com域名替换为你的。
/etc/httpd/conf/extra/httpd-vhosts.conf

  1. <VirtualHost *:80>
  2.      ServerAdmin [email protected]
  3.      ServerName example.com
  4.      ServerAlias www.example.com
  5.      DocumentRoot /srv/http/example.com/public_html/
  6.      ErrorLog /srv/http/example.com/logs/error.log
  7.      CustomLog /srv/http/example.com/logs/access.log combined
  8.             <Directory />
  9.                Order deny,allow
  10.                Allow from all
  11.             </Directory>
  12. </VirtualHost>

注意:
ErrorLog和CustomLog建议在每个虚拟主机指定,但不是必须的。如果像以上配置了,日志目录必须在Apache重启前创建好。

4.创建相关的目录

  1. sudo mkdir -p /srv/http/default
  2. sudo mkdir -p /srv/http/example.com/public_html
  3. sudo mkdir -p /srv/http/example.com/logs

5.创建好虚拟主机后,运行以下命令为启动Apache

  1. sudo systemctl start httpd.service

到目前为止,你应该能进入你的网站了。

注意:
当你更改配置时,需要重启Apache
sudo systemctl restart httpd.service

MySQL

安装配置

默认地,Arch Linux使用MariaDB替换了MySQL。MariaDB是用来替代MySQL的开源软件。与mysql相关的系统命令都兼容。
1.安装mariadb, mariadb-clients和libmariadbclient

  1. sudo pacman -Syu mariadb mariadb-clients libmariadbclient

2.安装MariaDB数据目录

  1. sudo mysql_install_db –user=mysql –basedir=/usr –datadir=/var/lib/mysql

3.启动MySQL并设置开机启动

  1. sudo systemctl start mysqld.service
  2. sudo systemctl enable mysqld.service

4.执行mysql_secure_installation,程序会引导你加固MySQL。你可以更改MySQL root密码,删除匿名用户,禁用root远程登录,以及删除test数据库:

  1. mysql_secure_installation

创建MySQL数据库

1.登录MySQL

  1. mysql -u root -p

输入root密码,将进入MySQL命令行终端。
2.创建一个数据库和一个授权此数据库权限的用户。在这个例子中数据库名为webdata,用户为webuser,密码为password:

  1. create database webdata;
  2. grant all on webdata.* to ‘webuser’ identified by ‘password’;

3.退出MySQL

  1. quit

安装好Apache和MySQL后,下面准备安装PHP。

PHP

1.安装PHP,PHP扩展和应用仓库:

  1. sudo pacman -Syu php php-apache

如果需要MySQL支持,需要安装php5-mysql

  1. sudo apt-get install php5-mysql

2.一旦PHP5安装完成,可以编辑/etc/php5/apache2/php.ini来调整配置,如设置错误等级显示,日志,性能等。下面是部分调整:
/etc/php5/apache2/php.ini

  1. error_reporting = E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR
  2. error_log = /var/log/php/error.log 
  3. max_input_time = 30
  4. extension=mysql.so

注意:
确保以上行已取消注释。注释的行前面带;号。
3.为PHP创建日志目录,并设置所有者为Apache运行用户:

  1. sudo mkdir /var/log/php
  2. sudo chown www-data /var/log/php

4.编辑/etc/httpd/conf/httpd.conf文件来激活PHP模块
/etc/httpd/conf/httpd.conf

  1. # Dynamic Shared Object (DSO) Support
  2. LoadModule php5_module modules/libphp5.so
  3.         
  4. # Supplemental configuration
  5. # PHP 5
  6. Include conf/extra/php5_module.conf
  7.  
  8. # Located in the <IfModule mime_module>
  9. AddType application/x-httpd-php .php
  10. AddType application/x-httpd-php-source .phps

5.同样的文件,注释行LoadModule mpm_event_module modules/mod_mpm_event.so,在前面加#号,并增加行LoadModule mpm_prefork_module modules/mod_mpm_prefork.so:
/etc/httpd/conf/httpd.conf

  1. #LoadModule mpm_event_module modules/mod_mpm_event.so
  2. LoadModule mpm_prefork_module modules/mod_mpm_prefork.so

6.重启Apache:

  1. sudo systemctl restart httpd.service

到目前为止已把LAMP安装完毕。

Debian 8 (Jessie)安装配置LAMP

安装前

更新下系统

  1. sudo apt-get update && sudo apt-get upgrade

Apache

安装配置

1.安装Apache 2.4

  1. sudo apt-get install apache2

2.编辑Apache主配置文件,关闭KeepAlive设置:
/etc/apache2/apache2.conf:

  1. KeepAlive Off

3.打开/etc/apache2/mods-available/mpm_prefork.conf,按你的需求更改,下面的配置是针对2GB服务器优化的:
/etc/apache2/mods-available/mpm_prefork.conf:

  1. # prefork MPM
  2. # StartServers: number of server processes to start
  3. # MinSpareServers: minimum number of server processes which are kept spare
  4. # MaxSpareServers: maximum number of server processes which are kept spare
  5. # MaxRequestWorkers: maximum number of server processes allowed to start
  6. # MaxConnectionsPerChild: maximum number of requests a server process serves
  7.  
  8. <IfModule mpm_prefork_module>
  9.         StartServers              4
  10.         MinSpareServers           20
  11.         MaxSpareServers           40
  12.         MaxRequestWorkers         200
  13.         MaxConnectionsPerChild    4500
  14. </IfModule>
  15.  
  16. # vim: syntax=apache ts=4 sw=4 sts=4 sr noet

4.在Debian 8系统,event模块默认激活。我们禁用此模块并使用prefork模块:

  1. sudo a2dismod mpm_event
  2. sudo a2enmod mpm_prefork

5.重启Apache:

  1. sudo systemctl restart apache2

配置虚拟主机

有许多种方法来配置虚拟主机,不过推荐使用下面的方法。
1.在/etc/apache2/sites-available/目录为你的网站创建一个配置文件,example.com.conf,替换example.com为你自己的域名。
文件:/etc/apache2/sites-available/example.com.conf

  1. <VirtualHost *:80>
  2.      ServerAdmin [email protected]
  3.      ServerName example.com
  4.      ServerAlias www.example.com
  5.      DocumentRoot /var/www/example.com/public_html/
  6.      ErrorLog /var/www/example.com/logs/error.log
  7.      CustomLog /var/www/example.com/logs/access.log combined
  8. </VirtualHost>

注意:
ErrorLog和CustomLog建议在每个虚拟主机指定,但不是必须的。如果像以上配置了,日志目录必须在Apache重启前创建好。

2.创建相关的目录

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

3.激活网站虚拟主机

  1. sudo a2ensite example.com.conf

注意:
如果你需要禁用你的网站,执行:
sudo a2dissite example.com.conf

4.重启Apache

  1. sudo systemctl restart apache2

假如你已经配置了DNS,并指向你的服务器,虚拟主机现在应该可以正常工作了。

MySQL

安装配置

1.安装MySQL

  1. sudo apt-get install mysql-server

当提示输入密码时,输入一个安全的密码
2.执行mysql_secure_installation,程序会引导你加固MySQL。你可以更改MySQL root密码,删除匿名用户,禁用root远程登录,以及删除test数据库:

  1. mysql_secure_installation

创建MySQL数据库

1.登录MySQL

  1. mysql -u root -p

输入root密码,将进入MySQL命令行终端。
2.创建一个数据库和一个授权此数据库权限的用户。在这个例子中数据库名为webdata,用户为webuser,密码为password:

  1. create database webdata;
  2. grant all on webdata.* to ‘webuser’ identified by ‘password’;

3.退出MySQL

  1. quit

安装好Apache和MySQL后,下面准备安装PHP。

PHP

1.安装PHP,PHP扩展和应用仓库:

  1. sudo apt-get install php5 php-pear

如果需要MySQL支持,需要安装php5-mysql

  1. sudo apt-get install php5-mysql

2.一旦PHP5安装完成,可以编辑/etc/php5/apache2/php.ini来调整配置,如设置错误等级显示,日志,性能等。下面是部分调整:
/etc/php5/apache2/php.ini

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

注意:
确保以上行已取消注释。注释的行前面带;号。
3.为PHP创建日志目录,并设置所有者为Apache运行用户:

  1. sudo mkdir /var/log/php
  2. sudo chown www-data /var/log/php

4.重启Apache:

  1. sudo systemctl restart apache2

到目前为止已把LAMP安装完毕。

CentOS 6安装LAMP

Apache Web服务器

安装和配置

1.安装Apache 2:

  1. sudo yum install httpd

2.编辑/etc/httpd/conf/下的httpd.conf,调整资源占用设置。下面的设置用于内存2GB的服务器:

注意:
在更改任何配置文件之前,建议备份下配置文件:

  1. cp /etc/httpd/conf/httpd.conf ~/httpd.conf.backup

/etc/httpd/conf/httpd.conf部分配置:

  1. KeepAlive Off
  2.  
  3.  
  4. <IfModule prefork.c>
  5.     StartServers        4
  6.     MinSpareServers     20
  7.     MaxSpareServers     40
  8.     MaxClients          200
  9.     MaxRequestsPerChild 4500
  10. </IfModule>

配置Apache虚拟主机

有许多种方法配置虚拟主机,推荐使用下面的方法。Apache默认会监听所有的IP。
1.在/etc/httpd/conf.d目录下创建一个vhost.conf文件,替换example.com为自己的域名:
/etc/httpd/conf.d/vhost.conf部分配置:

  1. NameVirtualHost *:80
  2.  
  3. <VirtualHost *:80>
  4.      ServerAdmin [email protected]
  5.      ServerName example.com
  6.      ServerAlias www.example.com
  7.      DocumentRoot /var/www/example.com/public_html/
  8.      ErrorLog /var/www/example.com/logs/error.log
  9.      CustomLog /var/www/example.com/logs/access.log combined
  10. </VirtualHost>

想添加为其它域名添加虚拟主机时,可以复制VirtualHost代码块,然后更改example.com域名即可。

注意:
ErrorLog和CustomLog建议在每个虚拟主机指定,但不是必须的。如果像以上配置了,日志目录必须在Apache重启前创建好。

2.创建相关的目录

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

3.首次启动Apache,并设置开机启动

  1. sudo service httpd start
  2. sudo /sbin/chkconfig –levels 235 httpd on

在浏览器输入域名之前,正常的话你应该会看到Apache的默认页面。

注意:
一旦你更改了vhost.conf,域名任何其它的配置文件,你都需要重载配置,命令为:
sudo service httpd reload

MySQL

安装和配置

1.安装MySQL

  1. sudo yum install mysql-server

2.启动MySQL,并设置开机启动

  1. sudo service mysqld start
  2. sudo /sbin/chkconfig –levels 235 mysqld on

3.运行mysql_secure_installation加固MySQL,程序会引导你加固MySQL。你可以更改MySQL root密码,删除匿名用户,禁用root远程登录,以及删除test数据库:

  1. mysql_secure_installation

创建MySQL数据库

1.登录MySQL

  1. mysql -u root -p

输入root密码,将进入MySQL命令行终端。
2.创建一个数据库和一个授权此数据库权限的用户。在这个例子中数据库名为webdata,用户为webuser,密码为password:

  1. create database webdata;
  2. grant all on webdata.* to ‘webuser’ identified by ‘password’;

3.退出MySQL

  1. quit

安装好Apache和MySQL后,下面准备安装PHP。

PHP

1.安装PHP,PHP扩展和应用仓库:

  1. sudo yum install php php-pear

如果需要MySQL支持,需要安装php-mysql

  1. sudo yum install php-mysql

2.一旦PHP5安装完成,可以编辑/etc/php.ini来调整配置,如设置错误等级显示,日志,性能等。下面是部分调整:
/etc/php.ini

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

注意:
确保以上行已取消注释。注释的行前面带;号。

3.为PHP创建日志目录,并设置所有者为Apache运行用户:

  1. sudo mkdir /var/log/php
  2. sudo chown apache /var/log/php

4.重启Apache:

  1. sudo service httpd restart

到目前为止已把LAMP安装完毕。

Ubuntu 12.04 (Precise Pangolin)安装LAMP(Apache MySQL PHP)服务器

安装前

更新下系统

  1. sudo apt-get update && sudo apt-get upgrade

Apache

安装配置

1.安装Apache 2

  1. sudo apt-get install apache2

2.编辑Apache主配置文件,调整资源使用设置。下面的设置适用于内存为2GB的机器:
/etc/apache2/apache2.conf部分配置:

  1. KeepAlive Off
  2.  
  3. <IfModule mpm_prefork_module>
  4. StartServers 4
  5. MinSpareServers 20
  6. MaxSpareServers 40
  7. MaxClients 200
  8. MaxRequestsPerChild 4500
  9. </IfModule>

配置虚拟主机

有许多种方法来配置虚拟主机,不过推荐使用下面的方法。
1.在/etc/apache2/sites-available/目录为你的网站创建一个配置文件,example.com.conf,替换example.com为你自己的域名。
文件:/etc/apache2/sites-available/example.com.conf

  1. <VirtualHost *:80>
  2.      ServerAdmin [email protected]
  3.      ServerName example.com
  4.      ServerAlias www.example.com
  5.      DocumentRoot /var/www/example.com/public_html/
  6.      ErrorLog /var/www/example.com/logs/error.log
  7.      CustomLog /var/www/example.com/logs/access.log combined
  8. </VirtualHost>

注意:
ErrorLog和CustomLog建议在每个虚拟主机指定,但不是必须的。如果像以上配置了,日志目录必须在Apache重启前创建好。

2.创建相关的目录

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

3.激活网站虚拟主机

  1. sudo a2ensite example.com.conf

注意:
如果你需要禁用你的网站,执行:
sudo a2dissite example.com.conf

4.重载Apache

  1. sudo service apache2 reload

假如你已经配置了DNS,并指向你的服务器,虚拟主机现在应该可以正常工作了。

MySQL

安装配置

1.安装MySQL

  1. sudo apt-get install mysql-server

当提示输入密码时,输入一个安全的密码
2.执行mysql_secure_installation,程序会引导你加固MySQL。你可以更改MySQL root密码,删除匿名用户,禁用root远程登录,以及删除test数据库:

  1. mysql_secure_installation

创建MySQL数据库

1.登录MySQL

  1. mysql -u root -p

输入root密码,将进入MySQL命令行终端。
2.创建一个数据库和一个授权此数据库权限的用户。在这个例子中数据库名为webdata,用户为webuser,密码为password:

  1. create database webdata;
  2. grant all on webdata.* to ‘webuser’ identified by ‘password’;

3.退出MySQL

  1. quit

安装好Apache和MySQL后,下面准备安装PHP。

PHP

1.安装PHP,PHP扩展和应用仓库:

  1. sudo apt-get install php5 php-pear

如果需要MySQL支持,需要安装php5-mysql

  1. sudo apt-get install php5-mysql

2.一旦PHP5安装完成,可以编辑/etc/php5/apache2/php.ini来调整配置,如设置错误等级显示,日志,性能等。下面是部分调整:
/etc/php5/apache2/php.ini

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

注意:
确保以上行已取消注释。注释的行前面带;号。
3.为PHP创建日志目录,并设置所有者为Apache运行用户:

  1. sudo mkdir /var/log/php
  2. sudo chown www-data /var/log/php

4.重启Apache:

  1. sudo service apache2 restart

到目前为止已把LAMP安装完毕。