LNMP环境的搭建(linux+nginx+mysql+php)

LNMP架构介绍

LNMP架构和LAMP架构很像,只不过一个用的是Apache,一个用的是Nginx。LNMP就是Linux+Nginx+MySQL+PHP,Nginx和Apache一样都是web服务器。

有一点不同的是在LNMP结构里php会启动一个服务:php-fpm,而LANP中php只是作为Apache的一个模块存在。Nginx会把用户的动态请求交给php服务去处理,这个php服务就会去和数据库进行交互。用户的静态请求Nginx会直接处理,Nginx处理静态请求的速度要比Apache快很多性能上要好,所以Apache和Nginx在动态请求处理上区别不大,但如果是静态请求处理的话就会明显发现Nginx要快于Apache,而且Nginx能承受的并发量要比Apache大,可以承受好几万的并发量,所以大一些的网站都会使用Nginx作为web服务器。
LNMP图解
在这里插入图片描述

搭建步骤

本次搭建的测试服务器为centos7

安装yum源和安装rpel源

对原文件进行备份

#cd /etc/yum.repos.d
#mkdr bak
#mv *.repo bak/

配置网络源

#wget http://mirrors.aliyun.com/repo/Centos-7.repo
#yum clean all
#yum makecache

安装epel源

#yum install -y epel-release

安装nginx并配置服务

安装nginx服务

  #yum install nginx

重要文件目录

主配置文件:# vim /etc/nginx/nginx.conf
默认网站目录:/usr/share/nginx/html
日志文件:error_log /var/log/nginx/error.log;
         error_log /var/log/nginx/access.log 

修改nginx配置文件

  #vim /etc/nginx/nginx.conf
  在文件最后一个}号前添加:include vhost/*.conf;

在这里插入图片描述
在/etc/nginx目录下新建vhost目录,并在下面新建book.conf和discuz.conf两个域名配置文件。配置文件编辑如下:
book.conf

server{
        listen 192.168.0.104:80;
        server_name www.book.com;
        location / {
                root /usr/share/nginx/html/book;
                index  index.html;  #静态网页首页
}
        location ~ \.php$ {
                root           /usr/share/nginx/html/book;
                fastcgi_pass   127.0.0.1:9000; #动态推送到fastcgi的参数,如果是两台服务器要以ip的形式写
                fastcgi_index  index.php;  #动态网页首页
                fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
                include        fastcgi_params;
}
}

在这里插入图片描述discuz.conf

server{
        listen 192.168.0.104:80;
        server_name www.discuz.com;
        location / {
                root /usr/share/nginx/html/upload;
                index index.php;
}
        location ~ \.php$ {
                root           /usr/share/nginx/html/upload;
                fastcgi_pass   127.0.0.1:9000;
                fastcgi_index  index.php;
                fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
                include        fastcgi_params;

}
}

在这里插入图片描述
将公司网站文件book和discuz都放到默认目录下
在这里插入图片描述

前面有写到dns的搭建,这里就不搭建了,用主机的hosts代替解析域名

vim /etc/hosts

在这里插入图片描述

配置完成后记得重启服务哦~~~

systemctl restart nginx #重启服务
systemctl enable nginx #开机自启
systemctl status nginx #查看状态

安装mysql数据库

[root@localhost ~]# yum install mariadb mariadb-server mariadb-libs mariadb-devel
[root@localhost ~]# rpm -qa |grep maria #检查安装包

开启mysql服务并设置为开机自启

[root@localhost ~]# systemctl start  mariadb 
[root@localhost ~]# systemctl enable  mariadb 

数据库安全设置
按提示操作

[root@localhost ~]# mysql_secure_installation

登录数据库测试
[root@localhost ~]# mysql -u root -p
在这里插入图片描述
这里我们将book的数据库导入进去(注意登录的目录要有数据库文件)
在这里插入图片描述
创建guestbook数据库并使用

create database guestbook;
use guestbook;

在这里插入图片描述
导入并查看

[root@localhost home]# mysql -u root -p guestbook<guestbook.sql

在这里插入图片描述

安装PHP环境

这里由于使用的是nginx,所以会多安装一个php-fpm

yum -y install php php-fpm

将php和mysql关联起来

yum install php-mysql

安装php常用模块

yum install -y php-gd php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-snmp php-soap curl curl-devel php-bcmath

修改php.ini文件,提高安全性
在这里插入图片描述
将nginx.conf.default配置文件中的以下内容复制到nginx.conf或者相应网站配置文件的server中,并做相应修改(上文配置中有写的,如果是一个网站的发布就写到主配置文件,如果是多个网站,就需要写到相应网站的配置文件中)

 location ~ \.php$ {
           root           html;
           fastcgi_pass   127.0.0.1:9000;
           fastcgi_index  index.php,phpinfo.php;
           fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
           include        fastcgi_params;
       }

如本实验发布了两个网站,我的主配置文件如图
在这里插入图片描述

测试网站是否发布成功
在这里插入图片描述在这里插入图片描述

如不能访问网页如何排查

  1. 重启各项服务
  2. 检查配置文件(包括主配置文件和网站配置文件)
  3. 检查网站的目录是否有网页
  4. 关闭防火墙和安全机制
  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值