如何在CentOS 6上安装Linux,nginx,MySQL,PHP(LEMP)

LEMP是一组开放源代码软件,用于启动和运行Web服务器。首字母缩写代表Linux,nginx(发音为Engine x),MySQL和PHP。本教程解释如何安装所需的repos来下载nginx和php-fpm,如何

关于Lemp

LEMP是一组开放源代码软件,用于启动和运行Web服务器。 首字母缩写代表Linux,nginx(发音为Engine x),MySQL和PHP。 由于服务器已经运行CentOS,所以linux部分被处理。 这里是如何安装其余的。

第一步 - 安装所需的存储库

我们将使用Yum安装所有必需的软件。 但是,因为nginx不是直接从CentOS可用,我们需要安装epel存储库。

sudo yum install epel-release

第二步 - 安装MySQL

下一步是开始在虚拟专用服务器上安装服务器软件,从MySQL和依赖项开始。

 sudo yum install mysql-server

下载完成后,重新启动MySQL:

sudo /etc/init.d/mysqld restart

您可以使用此命令做一些配置MySQL:

sudo /usr/bin/mysql_secure_installation

提示将要求您输入当前的root密码。

因为你刚刚安装MySQL,你很可能不会有一个,所以留空,按enter键。

Enter current password for root (enter for none): 
OK, successfully used password, moving on...

然后提示将询问您是否要设置root密码。 继续,选择Y,然后按照说明进行操作。

CentOS自动化设置MySQL的过程,问你一系列是或否的问题。

这是最简单只是说是的所有选项。 最后,MySQL将重新加载和实现更改。

By default, a MySQL installation has an anonymous user, allowing anyone
to log into MySQL without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.

Remove anonymous users? [Y/n] y                                            
 ... Success!

Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.

Disallow root login remotely? [Y/n] y
... Success!

By default, MySQL comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.

Remove test database and access to it? [Y/n] y
 - Dropping test database...
 ... Success!
 - Removing privileges on test database...
 ... Success!

Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.

Reload privilege tables now? [Y/n] y
 ... Success!

Cleaning up...

All done!  If you've completed all of the above steps, your MySQL
installation should now be secure.

Thanks for using MySQL!

第三步 - 安装nginx

和MySQL一样,我们将使用yum在我们的虚拟私有服务器上安装nginx:

sudo yum install nginx

nginx不会自己启动。 要运行nginx,请输入:

sudo /etc/init.d/nginx start

您可以通过将浏览器定向到您的IP地址来确认nginx已安装在虚拟专用服务器上。

您可以运行以下命令来显示您的服务器的IP地址。

ifconfig eth0 | grep inet | awk '{ print $2 }'

第四步安装PHP

php-fpm包位于REMI存储库中,此时已禁用。 我们需要做的第一件事是启用REMI存储库并安装php和php-fpm:

sudo yum install php-fpm php-mysql

第五步 - 配置php

我们需要在php配置中做一个小的改变。 打开php.ini:

 sudo vi /etc/php.ini

找到行cgi.fix_pathinfo = 1,并将1更改为0。

cgi.fix_pathinfo=0

如果这个数字保持为1,php解释器将尽最大努力来处理尽可能接近所请求的文件的文件。 这是一种可能的安全风险。 如果此数字设置为0,相反,解释器将只处理确切的文件路径 - 一个更安全的选择。 保存并退出。

第六步 - 配置nginx

打开默认的nginx配置文件:

sudo vi /etc/nginx/nginx.conf

将工作进程数增加为4,然后保存并退出该文件。

现在我们应该配置nginx虚拟主机。

为了使默认的nginx文件更简洁,虚拟主机详细信息位于不同的位置。

sudo vi /etc/nginx/conf.d/default.conf

配置应包括以下更改(更改的详细信息在配置信息下):

#
# The default server
#
server {
    listen       80;
    server_name example.com;

   
    location / {
        root   /usr/share/nginx/html;
        index index.php  index.html index.htm;
    }

    error_page  404              /404.html;
    location = /404.html {
        root   /usr/share/nginx/html;
    }

    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }

    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
    #
    location ~ \.php$ {
        root           /usr/share/nginx/html;
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME   $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }
}

以下是更改的详细信息:

  • 在索引行中添加index.php。
  • 将server_name更改为您的域名或IP地址(替换配置中的example.com)
  • 将根更改为/ usr / share / nginx / html;
  • 取消注释以“location〜\ .php $ {”,
  • 更改根以访问实际的文档根目录,/ usr / share / nginx / html;
  • 更改fastcgi_param行以帮助PHP解释器找到我们存储在文档root home中的PHP脚本。

保存并退出

打开php-fpm配置:

sudo vi /etc/php-fpm.d/www.conf

用nginx替换用户和组中的apache:

[...]
; Unix user/group of processes
; Note: The user is mandatory. If the group is not set, the default user's group
;	will be used.
; RPM: apache Choosed to be able to access some dir as httpd
user = nginx
; RPM: Keep a group allowed to write in log dir.
group = nginx
[...]

通过重新启动php-fpm完成。

sudo service php-fpm restart

第七步 - 结果:创建一个php信息页面

虽然安装了LEMP,我们仍然可以通过创建快速PHP信息页面来查看组件在线

要进行设置,首先创建一个新文件:

sudo vi /usr/share/nginx/html/info.php

在以下行中添加:

<?php
phpinfo();
?>

然后保存并退出。

重新启动nginx,以使所有更改生效:

sudo service nginx restart

访问您的PHP信息页面完成(确保您替换示例IP地址与您正确的IP地址):http://12.34.56.789/info.php

它应该类似于

第八步设置自动启动

你差不多完成了。 最后一步是将所有新安装的程序设置为在VPS引导时自动启动。

sudo chkconfig --levels 235 mysqld on
sudo chkconfig --levels 235 nginx on
sudo chkconfig --levels 235 php-fpm on
作者Etel Sverdlov