关于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