Nginx是俄罗斯人编写的十分轻量级的HTTP服务器,Nginx是一个高性能的HTTP和反向代理服务器,Nginx 超越 Apache 的高性能和稳定性,使得国内使用 Nginx 作为 Web 服务器的网站也越来越多,我们学习PHP,以及搭建我们自己的LNMP环境,不妨先在本机上尝试学习,下面我们一步一步来完成在CentOS7 下安装LNMP(Linux+Nginx+MySQL+PHP)及Apache。
一、安装httpd
[root@localhost ~]# 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服务
[root@localhost ~]# 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,可以使用下面的命令进行安装:
[root@localhost ~]# 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
[root@localhost ~]# systemctl start mariadb.service
#停止MariaDB
[root@localhost ~]# systemctl stop mariadb.service
#重启MariaDB
[root@localhost ~]# systemctl restart mariadb.service
#设置开机启动
[root@localhost ~]# systemctl enable mariadb.service
五、安装PHP
[root@localhost ~]# 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端口访问:
(4)指定8080端口访问: