CentOS7 安装LNMP(Linux+Nginx+MySQL
由于工作需要,需要学习PHP,本来想安装LAMP的,但是考虑到现在Nginx服务器有良好的性能且应用广泛。这里我决定搭建Linux(CentOS7+Nginx+MySQL+PHP)下的web服务器。
一、安装httpd。
yum install -y httpd
安装完成之后使用以下命令启动httpd服务:
systemctl start httpd.service #启动apache
systemctl stop httpd.service #停止apache
systemctl restart httpd.service #重启apache
systemctl enable httpd.service #设置apache开机启动
可以在浏览器中输入服务器所在的主机的IP即可看到apache的欢迎界面。要在另外一台主机上实现这种访问,需要关闭系统的防火墙。
在CentOS7中,修改防火墙的机制已经做了修改,在CentOS 6.x系统中可以使用以下命令:
service iptables stop
chkconfig iptables off // 开机禁止启动
而在CentOS7中只能使用以下命令,如果使用上面的命令并不会报任何错误,但是起不到关闭防火墙的效果:
systemctl stop firewalld.service
systemctl disable firewalld.service //禁止防火墙开机启动
关闭SeLinux:
使用getenforce命令可以查看SeLinux的状态,SeLinux有三种状态,分别为enforcing、permissive和disabled。因为我们的服务器只在内部使用,所以这里我们选择完全关闭(disabled)。具体的做法为修改/etc/sysconfig/selinux文件,具体操作可以看里面的说明。
成功安装httpd(apache)的效果图为:
二、安装MySQL数据库。
MySQL数据库,新版本已经更名为Mariadb,所以这里需要安装Mariadb,可以使用下面的命令进行安装:
yum install -y mariadb
安装完成以后使用下面的命令开启数据库服务:
systemctl start mariadb.service #启动MariaDB
systemctl stop mariadb.service #停止MariaDB
systemctl restart mariadb.service #重启MariaDB
systemctl enable mariadb.service #设置开机启动
三、安装PHP。
使用下面的命令可以安装PHP:
yum -y install php
使用下面的命令安装php对Mariadb的支持:
yum install php-mysql php-gd libjpeg* php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-bcmath php-mhash
使用下面的命令重启Mariadb和httpd服务:
systemctl restart mariadb.service #重启MariaDB
systemctl restart httpd.service #重启apache
四、安装nginx。
这里使用的是nginx做反向代理,将其客户端通过80端口请求的.php内容代理到apache服务器上。
使用以下命令安装nginx:
yum install -y nginx (centos7 yum 暂时没有nginx)
要想使用nginx做反向代理,需要修改Apache的httpd和nginx的配置文件,使其监听不同的端口,这里我们使用nginx监听80端口,使用Apache监听8080端口,这里我们分别配置Apache和nginx的配置文件,修改结果如下:
(1)Apache配置文件:/etc/httpd/conf/httpd.conf
(2)nginx配置如下:
这样,当用户在浏览器中访问该服务器有关.php结尾的文件都会代理到监听8080端口的Apache服务器。示例如下:
(1)不指定8080端口访问:
(2)指定访问8080端口。