CentOS 7安装配置LEMP(Nginx PHP FastCGI MariaDB)

系统配置

确保你的系统为最新版本:

  1. yum update

从EPEL安装Nginx

最快最容易安装Nginx的方式是使用第三方源EPEL

  1. sudo yum install epel-release
  2. yum update
  3. yum install nginx

这些命令指安装EPEL仓库,拉取最新的metadata,之后安装Nginx

配置Nginx

systemd启动Nginx

Nginx安装完成后,需要在systemd激活和启动,可以使用systemctl命令来做

  1. systemctl enable nginx.service
  2. systemctl start nginx.service

然后你可以检查其状态确保nginx始终启动

  1. systemctl status nginx.service

配置Nginx虚拟主机

一旦nginx安装完成,你需要在配置文件配置server块。每个server块需要一个server和location指令。你可以把server块分别建立不同文件,或者直接放到一个文件/etc/nginx/nginx.conf。在这个例子里,我们使用多个配置文件。默认地,Nginx会引用/etc/nginx/conf.d目录下的.conf文件
/etc/nginx/conf.d/example.com.conf:

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

你想托管额外的网站时,可以把配置文件放在/etc/nginx/conf.d目录。一旦建立好配置文件,你需要为你的public html文件,日志目录创建目录:

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

配置文件虚拟主机后,需要重启nginx以生效配置

  1. systemctl restart nginx.service

部署PHP FastCGI

如果你的网站是PHP写的,你需要实现PHP-FastCGI以便能让Nginx能正确地处理和解析PHP代码。你可以从EPEL仓库使用YUM安装

  1. yum install php-cli php spawn-fcgi

PHP-FastCGI安装好后,需要创建一个用来启动和控制php-cgi进程的脚本。
/usr/bin/php-fastcgi:

  1. #!/bin/sh
  2. if [ `grep -c "nginx" /etc/passwd` = "1" ]; then
  3.     FASTCGI_USER=nginx
  4. elif [ `grep -c "www-data" /etc/passwd` = "1" ]; then
  5.     FASTCGI_USER=www-data
  6. elif [ `grep -c "http" /etc/passwd` = "1" ]; then
  7.     FASTCGI_USER=http
  8. else
  9. # Set the FASTCGI_USER variable below to the user that
  10. # you want to run the php-fastcgi processes as
  11.  
  12. FASTCGI_USER=
  13. fi
  14.  
  15. /usr/bin/spawn-fcgi -a 127.0.0.1 -p 9000 -C 6 -u $FASTCGI_USER -f /usr/bin/php-cgi

脚本创建好后,设置其有执行权限

  1. chmod +x /usr/bin/php-fastcgi

把PHP-FastCGI配置为服务

PHP-FastCGI安装好后,它不会自动地在systemd注册为服务。如果你想用systemd更方便地管理PHP-FastCGI,可以把它配置为systemd服务。需要创建一个服务文件指向/usr/bin/php-fastcgi:
/etc/systemd/system/php-fastcgi.service:

  1. [Unit]
  2. Description=php-fastcgi systemd service script
  3.  
  4. [Service]
  5. Type=forking
  6. ExecStart=/usr/bin/php-fastcgi start
  7.  
  8. [Install]
  9. WantedBy=multi-user.target

服务文件创建好后,需要重载systemd守护进程以激活此服务,然后启动它。

  1. systemctl daemon-reload
  2. systemctl enable php-fastcgi.service
  3. systemctl start php-fastcgi.service

安装MariaDB

CentOS 7官方源已经没有MySQL了,已经用MariaDB替代,不过放心,这个是完全兼容MySQL的,用法一样。
1.从官方源安装MariaDB

  1. yum install mariadb-server

2.安装完成后,使用systemctl来激活并启动mariadb

  1. systemctl enable mariadb.service
  2. systemctl start mariadb.service

3.使用mysql_secure_installation命令来加固MariaDB

  1. mysql_secure_installation

到此LEMP安装完成。

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安装完毕。

EZHTTP — LAMP,LNMP,LNAMP一键安装

EZHTTP简介

EZHTTP是集成了nginx apache php mysql memcached等web服务器软件的一键安装脚本(支持lnmp,lanmp,lanmp),它能自由选择安装任意的软件,自动选最优线路下载,定制容易。更详细的介绍请转到:devops.webres.wang/ezhttp/。下面详细介绍下如何使用(附:EZHTTP QQ群:153447657)。

如何安装

因为安装时间会比较久,建议安装前使用screen,screen使用方法如下:
1、首先得安装screen,ubuntu使用apt-get install screen,centos或redhat使用yum install screen安装
2、创建一个ezhttp的会话,screen -S ezhttp
3、如果终端意外断开,则可以使用screen -r ezhttp恢复

  1. screen -S ezhttp
  2. wget –no-check-certificate https://github.com/centos-bz/EZHTTP/archive/master.zip -O EZHTTP.zip
  3. unzip EZHTTP.zip
  4. cd EZHTTP-master
  5. chmod +x start.sh
  6. ./start.sh

执行start.sh脚本后,会出现如下界面:
Web服务器
这里分了两种安装方式:
第一种是快速安装,即直接读取安装包下的config文件,config文件也是一个bash脚本,脚本里预定义了安装什么软件,以及安装的路径,大家可以自行修改里面的参数而使下次可以快速安装,config脚本部分截图:
Web服务器
第二种是高级设置,即全部参数都需要自己定义,我们这里输入2继续安装:
Web服务器
首先是nginx的安装设置,这里有三个版本选择1) nginx-1.4.1 2) tengine-1.4.6 3) ngx_openresty-1.2.8.3,当然你也可以选择不安装,即4) do_not_install。 这里我们选择1继续:
Web服务器
选择1后,需要我们定义nginx安装的路径,如果直接回车,默认路径为/usr/local/nginx,当然你也可以输入自己安装的路径,比如/home/nginx,我们这里直接回车:
Web服务器
到了apache安装的设置,有两个版本可选1) httpd-2.2.25 2) httpd-2.4.4,这里建议选择2.4版本的安装,性能会好于2.2:
Web服务器
同样需要设置安装路径,默认是/usr/local/apache。
Web服务器
到了mysql的安装设置,有三个版本可选,以及mysqlclient的库安装,1) mysql-5.1.71 2) mysql-5.5.32 3) mysql-5.6.12 4) libmysqlclient18
1,2,3是版本的选择安装,而4是只安装mysqlclient的库,而不安装完成的mysql server,当你有独立的数据库服务器,而只想安装php连接这台独立的数据库服务器时,又不想在web服务器上安装整个mysql数据库,可以只选择安装libmysqlclient18,这将节省大量的安装时间。这里我们选3安装:
Web服务器
设置mysql的安装位置,默认/usr/local/mysql。我们这里直接回车。
Web服务器
设置mysql数据文件的安装位置,默认是安装在mysql安装路径的子目录data,我们这里直接回车。
Web服务器
设置mysql root密码,默认是root:
Web服务器
到了php的安装设置,可选版本有1) php-5.2.17 2) php-5.3.26 3) php-5.4.16,这里推荐php5.3:
Web服务器
这里需要选择由什么来解析php脚本,有两种选择,一种with_apache,即使用apache的mod_php模式来解析,另一种是fastcgi来解析php,当你前面选择安装nginx时,建议选2,当你前面选择安装apache时,就选1。这里我们选择2,fastcgi解析php。
Web服务器
php安装路径,默认/usr/local/php。
Web服务器
这里是php模块的选择安装,模块的可选安装列表会根据你上面所选的php版本,因为我们上面选的php版本为php5.3.26,所以可选安装的模块有:1) ZendGuardLoader 2) eaccelerator-0.9.6.1 3) imagick-3.0.1 4) ioncube_loaders 5) memcache-3.0.8,而如何你的php版本为php5.2.17,ZendGuardLoader则会变成ZendOptimizer。可以多选安装,如输入1 2 3,则是安装ZendGuardLoader、eaccelerator和imagick。不需要全部安装,根据你php程序的需求即可,这里我们选择2 5:
Web服务器
这里是选择安装其它的软件,可选安装有1) memcached-1.4.15 2) pure-ftpd-1.0.36 3) phpMyAdmin-4.0.4-all-languages,可以多选,这里我们选择安装全部,1 2 3。
Web服务器
选择安装软件后,还需要设置安装的路径,这里都有默认的设置,memcached默认路径为/usr/local/memcached,pureftpd为/usr/local/pureftpd,phpmyadmin默认安装到nginx默认网站根目录,如果你使用的是apache,则需要修改,apache默认网站路径为/usr/local/apache/htdocs。
Web服务器
输入完phpmyadmin的安装路径后,会显示全部的设置信息,如果确认设置无误,输入y开始安装,如何确认有误,则可以输入n重新设置。
安装完成后,会显示所有正在监听的端口:
Web服务器
如看见80,3306端口以及/tmp/php-cgi.sock,表示nginx或者apache、mysql,php-fpm安装成功,即可通过域名或者ip访问默认首页,centos-6需要先关闭iptables或者开放80端口访问,如:
Web服务器

EZ命令使用

ez nginx add(添加nginx虚拟主机)
Web服务器
执行此命令后,提示输入需要绑定的域名,多个域名以空格分隔,如devops.webres.wang webres.wang。
Web服务器
接着要求输入网站目录,默认为/home/domain/web,日志路径为/home/domain/logs,所以如果你输入的网站目录为/home/centos,根目录其实是/home/centos/web,日志路径为/home/centos/logs。
Web服务器
接着会问是否添加伪静态规则,输入y进入规则列表,可选有1、DEDECMS 2、Discuz_7 3、Discuz_X 4、ECshop 5、PHPCMS 6、PHPWind 7、Shopex 8、Typecho 9、WordPress。输入对应的数字选择。
Web服务器
接着会询问是否需要支持php,如果nginx只是提供静态页面的访问,则输入n,否则y。
Web服务器
这样nginx虚拟主机就添加完成了。
ez nginx list(列出nginx虚拟主机)
Web服务器
执行此命令会马上列出所有的nginx虚拟主机,信息包括域名及根目录。
ez nginx del(删除nginx虚拟主机)
Web服务器
删除虚拟主机只需要输入对应的域名,删除之前会自动重载nginx配置文件,无需手动。
ez apache add(新增apache虚拟主机)
Web服务器
添加apache虚拟主机只需要输入域名及网站目录。
ez apache list(列出apache虚拟主机)
Web服务器
ez apache del(删除apache虚拟主机)
Web服务器
ez mysql add(添加mysql数据库或用户)
此命令是用来添加mysql数据库或者用户的,操作方法如下:
执行ez mysql add,会提示输入root用户密码:
下面按提示操作即可。
ez mysql del(删除mysql数据库或用户)
用来删除mysql数据库或者用户。
ez mysql mod(修改mysql用户密码)
用来修改mysql用户密码
ez mysql reset(重置mysql root密码)
当mysql root用户的密码忘记时,这个命令可以帮助你重置。

定制EZHTTP软件版本

我想要安装最新版本的软件,我们这里以mysql5.6为例:
现在EZHTTP mysql5.6系列的安装版本为mysql-5.6.12,而现在官网的最新版本为mysql-5.6.13,如何更新EZHTTP的为最新的呢?
需要修改两个文件:
第一个文件init:
我们打开安装包下的init文件,找到mysql5.6系列的设置:
Web服务器
我们看到mysql5.6设置分为三个:
一是mysql5_6_filename变量,这个是设置mysql5.6的文件名,如mysql-5.6.12,我们这里更改为mysql-5.6.13
二是mysql5_6_baidupan_link,这个是百度网盘的链接,你可以利用网盘的离线下载来下载mysql5.6.13并获取链接地址。如果不想使用网盘下载,可以设置为mysql5_6_baidupan_link=””,设置为空。
三是mysql5_6_official_link,这个是下载mysql5.6的直链,不一定要是官方的链接,可以是其它下载的直链。
第二个文件conf/md5.txt
最后一步是设置mysql5.6.13的md5信息到安装包下的conf/md5.txt文件。
在文件的任何一行添加:

  1. aff97b406da871f020af84b7085cbdbb  mysql-5.6.13.tar.gz

此md5需要用md5软件算出,linux下可以使用md5sum mysql-5.6.13.tar.gz得出。
完成这两步就完成了mysql5.6版本的升级,够简单吧。

Linux一键安装LLsMP(Linux Litespeed MySQL PHP)

LLsMP是一个轻便、简洁、快速的一键自动化安装包。您可以使用LLsMP 轻松地在Linux 上安装Litespeed, MySQL & PHP,免除繁复的安装步骤。
LLsMP有什么优点?
LLsMP采用Litespeed Web Server,性能比Apache/LAMP 好和省资源;动态方面也比Nginx/LNMP 好和省资源。另外, LLsMP 还有安装FTP 和eAccelerator 等的脚本,让你轻松配置自己的服务器。
继续阅读Linux一键安装LLsMP(Linux Litespeed MySQL PHP)