0%

CentOS7☞lnmp环境搭建

本文转自这里

简介


LNMP是Linux、Nginx、MySQL(MariaDB)和PHP的缩写,这个组合是最常见的WEB服务器的运行环境之一。

本文将带领大家在CentOS 7操作系统上搭建一套LNMP环境。

本教程适用于CentOS 7.x版本。

安装Nginx


yum install nginx

如果报没有可用的软件包nginx错误,解决方法这这里

按照提示,输入yes后开始安装。安装完毕后,Nginx的配置文件在/etc/nginx目录下。使用以下命令启动Nginx:
systemctl start nginx

检查系统中firewalld防火墙服务是否开启,如果已开启,我们需要修改防火墙配置,开启Nginx外网端口访问。
systemctl status firewalld

如果显示active (running),则需要调整防火墙规则的配置。

修改/etc/firewalld/zones/public.xml文件,在zone一节中增加:

1
2
3
4
<zone>
...
<service name="nginx"/>
<zone>

保存后重新加载firewalld服务: systemctl reload firewalld

可以通过浏览器访问 http://<外网IP地址> 来确定Nginx是否已经启动。

最后将Nginx设置为开机启动:systemctl enable nginx.service

测试环境的话,为了方便也可以先禁用掉防火墙

安装MySQL(MariaDB)

https://my.oschina.net/Laily/blog/713023


MariaDB是MySQL的一个分支,主要由开源社区进行维护和升级,而MySQL被Oracle收购以后,发展较慢。在CentOS 7的软件仓库中,将MySQL更替为了MariaDB。

我们可以使用yum直接安装MariaDB:
yum install mariadb-server

安装完成之后,执行以下命令重启MariaDB服务: systemctl start mariadb

MariaDB默认root密码为空,我们需要设置一下,执行脚本:/usr/bin/mysql_secure_installation

首先提示输入当前的root密码:
Enter current password for root (enter for none):

初始root密码为空,我们直接敲回车进行下一步
Set root password? [Y/n]

设置root密码,默认选项为Yes,我们直接回车,提示输入密码,在这里设置您的MariaDB的root账户密码
Remove anonymous users? [Y/n]

是否移除匿名用户,默认选项为Yes,建议按默认设置,回车继续
Disallow root login remotely? [Y/n]

是否禁止root用户远程登录?如果您只在本机内访问MariaDB,建议按默认设置,回车继续
Remove test database and access to it? [Y/n]

是否删除测试用的数据库和权限? 建议按照默认设置,回车继续
Reload privilege tables now? [Y/n]

是否重新加载权限表?因为我们上面更新了root的密码,这里需要重新加载,回车。

完成后你会看到Success!的提示,MariaDB的安全设置已经完成。我们可以使用以下命令登录MariaDB:mysql -uroot -p

按提示输入root密码,就会进入MariaDB的交互界面,说明已经安装成功。

最后我们将MariaDB设置为开机启动systemctl enable mariadb

安装PHP


https://www.yaosansi.com/post/install-php-yum-on-centos/
我们可以直接使用yum安装PHP:yum install php-fpm php-mysql

安装完成后我们将php-fpm启动:systemctl start php-fpm

将php-fpm设置为开机启动: systemctl enable php-fpm

php安装完成之后,需要设置一下php session的目录:

1
2
sudo mkdir /var/lib/php/session/
sudo chown -R apache:apache /var/lib/php/session/

这时php-fpm已经安装完毕,但是现在需要配置一下Nginx,在/etc/nginx/conf.d目录中新建一个名为php.conf的文件,其内容为:

1
2
3
4
5
6
7
8
9
10
11
12
server {
listen 80;
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
location ~ \.php$ {
root /usr/share/php;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}

然后执行以下命令使我们的配置生效:systemctl reload nginx

以上我们配置了Nginx的8000端口用来测试,如果您在美团云控制台创建机器时选择了绑定防火墙,需要检查该防火墙是否允许80端口,如果不允许的话,可以在防火墙设置中新增防火墙,并关联到该主机。

我们在/usr/share/php目录下新建一个名为phpinfo.php的文件用来展示phpinfo信息,文件内容为:

<?php echo phpinfo(); ?>

我们从浏览器打开 http://<外网IP地址>:80/phpinfo.php,您就能看到phpinfo信息了,说明我们php环境已经部署成功;

升级PHP版本


yum 默认安装的版本是5.4,现在升级PHP版本至5.6

执行下面命令:

1
2
3
rpm -Uvh https://mirror.webtatic.com/yum/el7/epel-release.rpm

rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm

执行下面的命令删除php
yum remove php-common
然后像安装那样问你是否继续的,输入yes即可

安装php5.6

yum install -y php56w php56w-opcache php56w-xml php56w-fpm php56w-mcrypt php56w-gd php56w-devel php56w-mysql php56w-intl php56w-mbstring

查看php版本php-fpm --version

重启服务

1
2
3
systemctl restart nginx
systemctl restart mariadb
systemctl restart php-fpm