centos7安装Lnmp(Linux+Nginx+MySql+Php)及Apache

Nginx是俄罗斯人编写的十分轻量级的HTTP服务器,Nginx是一个高性能的HTTP和反向代理服务器,Nginx 超越 Apache 的高性能和稳定性,使得国内使用 Nginx 作为 Web 服务器的网站也越来越多,我们学习PHP,以及搭建我们自己的LNMP环境,不妨先在本机上尝试学习,下面我们一步一步来完成在CentOS7 下安装LNMP(Linux+Nginx+MySQL+PHP)及Apache。

一、安装httpd

[[email protected] ~]# yum install -y httpd 

安装成功

Installed:
  httpd.x86_64 0:2.4.6-40.el7.centos.1                                          

Dependency Installed:
  apr.x86_64 0:1.4.8-3.el7                      apr-util.x86_64 0:1.5.2-6.el7   
  httpd-tools.x86_64 0:2.4.6-40.el7.centos.1    mailcap.noarch 0:2.1.41-2.el7   

Complete!

二、启动httpd服务

[[email protected] ~]# systemctl start httpd.service 

安装完成之后使用以下命令启动httpd服务:
#启动apache

systemctl start httpd.service

#停止apache

systemctl stop httpd.service

#重启apache

systemctl restart httpd.service

#设置apache开机启动

systemctl enable httpd.service

可以在浏览器中输入服务器所在的主机的IP即可看到apache的欢迎界面。要在另外一台主机上实现这种访问,需要关闭系统的防火墙。
在CentOS7中,修改防火墙的机制已经做了修改,在CentOS 6.x系统中可以使用以下命令:

service iptables stop 

// 开机禁止启动

chkconfig iptables off

    而在CentOS7中只能使用以下命令,如果使用上面的命令并不会报任何错误,但是起不到关闭防火墙的效果:

systemctl stop firewalld.service 

//禁止防火墙开机启动

systemctl disable firewalld.service 

三、安装MySql数据库

MySQL数据库,新版本已经更名为Mariadb,所以这里需要安装Mariadb,可以使用下面的命令进行安装:

[[email protected] ~]# yum install -y mariadb 

安装成功

Installed:
  mariadb.x86_64 1:5.5.47-1.el7_2                                               

Dependency Updated:
  mariadb-libs.x86_64 1:5.5.47-1.el7_2                                          

Complete!

四、开启数据库服务

安装完成以后使用下面的命令开启数据库服务:
#启动MariaDB

[[email protected] ~]# systemctl start mariadb.service   

#停止MariaDB

[[email protected] ~]# systemctl stop mariadb.service   

#重启MariaDB

[[email protected] ~]# systemctl restart mariadb.service  

#设置开机启动

[[email protected] ~]# systemctl enable mariadb.service  

五、安装PHP

[[email protected] ~]# yum -y install php 

安装成功:

Installed:
  php.x86_64 0:5.4.16-36.1.el7_2.1                                                       

Dependency Installed:
  libzip.x86_64 0:0.10.1-8.el7                 php-cli.x86_64 0:5.4.16-36.1.el7_2.1     
  php-common.x86_64 0:5.4.16-36.1.el7_2.1     

Complete!

使用下面的命令安装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

一路“Y”

五、重启Mariadb和httpd服务:

使用下面的命令重启Mariadb和httpd服务:

#重启MariaDB

systemctl restart mariadb.service 

#重启apache

systemctl restart httpd.service 

六、安装nginx

想在 CentOS 系统上安装 Nginx ,你得先去添加一个资源库,像这样:

vim /etc/yum.repos.d/nginx.repo 

使用 vim 命令去打开 /etc/yum.repos.d/nginx.repo ,如果 nginx.repo 不存在,就会去创建一个这样的文件,打开以后按一下小 i 键,进入编辑模式,然后复制粘贴下面这几行代码,完成以后按 esc 键退出,再输入 :wq (保存并退出)

[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=0
enabled=1

完成以后,我们就可以使用 yum 命令去安装 nginx 了,像这样:

yum install nginx

安装成功:

----------------------------------------------------------------------

Thanks for using nginx!

Please find the official documentation for nginx here:
* http://nginx.org/en/docs/

Commercial subscriptions for nginx are available on:
* http://nginx.com/products/

----------------------------------------------------------------------
  Verifying  : 1:nginx-1.10.1-1.el7.ngx.x86_64                                       1/1 

Installed:
  nginx.x86_64 1:1.10.1-1.el7.ngx                                                        

Complete!

由于安装了Httpd服务,所以要先停止,关闭apache之后再次启动nginx。
停止Httpd

systemctl stop httpd.service 

测试一下 nginx 服务:

service nginx status   

测试一下 nginx 的配置文件:

nginx -t   

返回

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful   

说明配置文件成功!

七、配置服务

这里使用的是nginx做反向代理,将其客户端通过80端口请求的.php内容代理到apache服务器上。

要想使用nginx做反向代理,需要修改Apache的httpd和nginx的配置文件,使其监听不同的端口,这里我们使用nginx监听80端口,使用Apache监听8080端口,这里我们分别配置Apache和nginx的配置文件,修改结果如下:
(1)Apache配置文件:/etc/httpd/conf/httpd.conf

 
#Listen 12.34.56.78:80
Listen 8080

(2)nginx配置如下:/etc/nginx/conf.d/default.conf

 # proxy the PHP scripts to Apache listening on 127.0.0.1:80
    #
    location ~ \.php$ {
      proxy_pass   http://127.0.0.1:8080;
    }

(3)不指定8080端口访问:

ngins

(4)指定8080端口访问:

ngins


发布日期:

所属分类: Apache/Ngnix, Linux/Centos/Os 标签: