LEMP是一个典型的动态网页的服务器架构,LEMP其实是一个缩写,其中L代表Linux操作系统,E代表Nginx web服务器,网站的数据存储在MySQL数据库中(使用的是MariaDB),而动态的内容则交由PHP来处理。在这篇文章中,我们将尝试在CentOS 7 VPS中搭载LEMP架构。
必要准备
在搭建LEMP架构之前,你首先需要有一个独立的,非ROOT的服务器账号。
第一步 — 安装Nginx
为了能够显示静态网络,我们首先需要配置一个现代的、有效率的WEB服务器Nginx。
为了在CentOS 7中添加Nginx的yum包,首先需要打开终端然后输入以下命令:
1
|
sudo rpm -
Uvh
http:/
/nginx.org/packages
/centos/
7/noarch/
RPMS/nginx-release-centos-
7-
0.el7.ngx.noarch.rpm
|
在这其中可能需要你的root密码。
现在你可以使用以下命令安装Nginx
以上命令执行完成后,你的web服务器就算搭好了。
打好以后你可以通过以下命令来启动Nginx:
1
|
sudo systemctl start nginx.service
|
你可以在浏览中输入以下内容来验证Nginx是否安装成功。
如果一切顺利的话,你可以看到Nginx的欢迎界面。
如果你可以看到这个页面,说明你的web服务器已经安装成功了。
在进行下一步之前,你需要使用以下命令来确保你的Nginx处于运行的状态:
1
|
sudo systemctl enable nginx.service
|
如何查看VPS的公共IP地址
你可以通过以下命令来查看你vps的IP地址:
1
|
ip addr show eth0 | grep inet | awk
'{ print $2; }' | sed
's/\/.*$//'
|
第二步 — 安装MySQL (MariaDB)
接下来我们需要安装的是MariaDB,这也是一个MySQL的数据库软件,只是为了规避MySQL被甲骨文收购以后有闭源的风险。
我们还是需要通过获取yum包来安装MariaDB:
1
|
sudo yum
install mariadb-server mariadb
|
上面的命令执行完成后,我们可以通过以下命令安装MariaDB:
1
|
sudo systemctl start mariadb
|
现在MySQL数据库已经安装好了,我们需要运行一个简单的安全脚本来排除掉一些可能存在的安全隐患:
1
|
sudo mysql_secure_installation
|
在上面命令的执行过程中会询问你现在的MySQL root密码,因为你刚刚安装好,所以直接按enter就可以,在这之后会询问你是否需要给root设置密码,选择Y ,然后按照提示输入你想要设置成的密码即可:
1
2
3
4
5
6
7
8
9
10
11
|
Enter current password
for root (enter
for
none):
OK, successfully used password, moving
on...
Setting
the root password ensures that nobody can
log
into
the MariaDB
root user
without
the proper authorisation.
New password: password
Re-enter
new password: password
Password updated successfully!
Reloading privilege tables..
... Success!
|
在下一阶段进行之前,你需要通过以下命令确保你的MariaDB处在运行状态:
1
|
sudo systemctl enable mariadb.service
|
通过以上命令,我们的数据库就算安装成功了。
第三步 — 安装PHP
首先我们还是需要通过以下命令获取php的三个yum包
1
|
sudo yum install php php-mysql php-fpm
|
配置PHP
现在我们需要对PHP进行一些配置。
以root权限打开php-fpm的配置文件:
对以下语句取消注释:
保存并关闭文件。
接下来我们需要php-fpm的配置文件www.conf:
1
|
sudo
vi /etc/php-fpm.
d/www.
conf
|
找到类似下面语句,将其修改成:
1
|
listen =
/var/run
/php-fpm/php-fpm.sock
|
然后保存并退出。
现在我们需要开启PHP:
1
|
sudo systemctl start php-fpm
|
然后通过以下命令确保php-fpm处在运行状态:
1
|
sudo systemctl enable php-fpm.service
|
第四步 — 配置Nginx处理PHP网页
通过上面的步骤我们所有的组件算是安装完成了,但是接下来我们还需要配置Nginx来处理PHP网页。
打开Nginx的配置文件:
1
|
sudo
vi /etc/nginx/
conf.
d/default.
conf
|
把类似下面语句的注释去掉:
1
2
3
4
5
6
7
8
9
10
11
12
13
|
server {
listen
80;
server_name localhost;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
error_page
500
502
503
504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}
|
将其修改成以下形式:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
server {
listen
80;
server_name server_domain_name_or_IP;
root /usr/share/nginx/html;
index index.php index.html index.htm;
location / {
try_files
$uri
$uri/ =
404;
}
error_page
404 /
404.html;
error_page
500
502
503
504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
location
~ \.php$ {
try_files
$uri =
404;
fastcgi_pass
unix:/var/run/php-fpm/php-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME
$document_root
$fastcgi_script_name;
include fastcgi_params;
}
}
|
然后保存并关闭配置文件。
重启Nginx令这些配置生效:
1
|
sudo systemctl restart nginx
|
第五步 — 测试Web服务器
在CentOS 7中,网页服务器的主目录位于/usr/share/nginx/html/,我们在其中创建以下文件来测试LEMP是否配置成功:
1
|
sudo vi
/usr/share
/nginx/html
/info.php
|
在其中输入以下语句:
保存并退出。
在浏览器中输入类似以下内容测试LEMP是否配置成功:
一切顺利的话,将会出现以下界面:
结论
现在你的LEMP服务器已经配置成功了,你可以在上面做你想做的事情,Enjoy!!
Hunter原创,转载请注明出处。
本文参考:https://www.digitalocean.com/community/tutorials/how-to-install-linux-nginx-mysql-php-lemp-stack-on-centos-7