前几天刚做完以LAMP为基础的搭建个人博客,今天我们就来给大家演示一下如何以LNMP为基础搭建“小米商城”,从字面意思上我们可以知道,LNMP指的是Linux、Nginx、Mariadb(Mysql)、php-fpm(php),那么我们既然有了apache为什么还要选择Nginx呢?
因为LNMP架构具有轻量、跨平台、高性能等特点,能支持高并发请求。数据复制时,官方测试能够支撑5万并发连接,在实际生产环境中跑到2~3万并发连接数(这得益于Nginx使用了最新的epoll模型,apache使用的是select)通信机制采用epoll模型,支持更大的并发连接,而且其占有内存少,并发能力强,中国大陆使用nginx的网站用户有:百度、新浪、腾讯、网易、淘宝,其中淘宝更是在其上二次开发了tengine!
步入正题,首先我们需要先安装几个包
yum install nginx mariadb-server php-fpm php-mysql
systemctl start nginx mariadb php-fpm
然后修改配置文件,由于是为了和php链接,所以我们可以考虑把nginx.conf.default覆盖成nginx.conf
cp nginx.conf.default nginx.conf
vim /etc/nginx.conf
user nobody #本行是注释掉的,我们打开注释,使用权限较小的nobody
http {
tcp_nopush on; #这两行是为了加速访问
tcp_nodelay on;
}
server {
root /data/web; 定义访问的文件目录在/data/web,所以下面的root可以考虑删掉
location / {
index index.php index.html index.htm; #添加一个index.php
}
}
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
然后是php的相关文件,/etc/php.ini其中修改时钟配置date.timezone = Asia/Shanghai;设置short_open_tag = On
vim /etc/php-fpm.d/www.conf
user = nobody #修改运行的人和组
group = nobody
接着把我们准备好的小米商城压缩包(可以在这http://39.108.232.71/download/下载)上传到系统中,解压到对应的路径
unzip -d /data/web xiaomi.zip
chown -R nobody:nobody /data/web #更改/data/web下的所有人,所有组
mysql
create database xiaomi; #新建小米数据库
然后访问http://ip/ebak/index.php,登录账号为admin,密码为123456,
参数设置,恢复设置,其中恢复的时候选择xiaomi为恢复数据库,这样就把我们的数据库导入到xiaomi库中了,我们http://ip/index.php,可以正常访问。
如果出现什么数据库访问失败127.0.0.1:3306,我们进入我们解压后的包中访问配置文件
vim /data/web/data/config.php
$db_host = "127.0.0.1:3306"
// 数据库名称
$db_name = "xiaomi";
// 数据库用户名
$db_user = "root";
// 数据库密码
$db_pass = ""; #这些都是我们刚才在网页中填写的一些内容
然后再此访问http://ip/index.php,正常访问,还可以点击,如果我们想要访问后台,直接输入http://ip/admin/index.php,可以修改其中的商店名称、标题啥的,这些都是模拟的电商网站后台管理,我们的在以后的生产环境中也都大同小异,那么大家学到了吗?有问题可以评论哦。