51Testing软件测试论坛

标题: 实现基于LNMP的电子商务网站 [打印本页]

作者: 测试积点老人    时间: 2018-6-1 13:03
标题: 实现基于LNMP的电子商务网站
LNMP简单介绍

LNMP代表的就是:Linux系统下Nginx+MySQL+PHP这种网站服务器架构。企业级电子商务网站大多是是基
于LNMP(Linux+Nginx+MySQL+PHP)架构设计的,是目前国际上流行的网站服务端架构。LNMP架构具有
轻量、跨平台、高性能等特点,能支持高并发请求。Nginx作为Web服务器,使用web服务功能,可将请求
传递给PHP应用服务,PHP应用服务执行脚本,从后端Mysql取得数据,生成响应返回给Nginx,最后由Ngin
x将响应返回用户。

一、环境准备

centos系统、nginx源码、yum源(安装mysql与php-fpm)



二、安装步骤

1.下载nginx源代码,并编译安装到/usr/local/nginx目录中

2.yum方式安装mariadb、mariadb-server、php-mysql、php、php-fpm

yum install nginx mariadb-server php-fpm php-mysql

3.下载小米商城源码,解压缩到/data/web目录,修改权限为nobody

mv  小米电子商务网站源码.zip xiaomi.zip

mkdir -p /data/web

unzip xiaomi.zip -d /data/web

chown -R nobody.bobody /data/web
[attach]116027[/attach]


三、修改配置文件

1.修改nginx配置,把/etc/nginx/nginx.conf.default模板复制为配置文件进行修改,指定网站访问目录为/
data/web,并设置默认用户和配置与php-fpm交互

2.修改server段加上默认工作路径,可访问到网站程序

3.修改php扩展解析文件路径修改为

fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;



cp /etc/nginx/nginx.conf.default nginx.conf

vim /etc/nginx/nginx.conf

[plain] view plain copy
user nobody;  
error_log /var/log/nginx/error.log info;  
events {  
    worker_connections 30000;  
}  
http {  
    include mime.types;  
    default_type application/octet-stream;  
    log_format main '$remote_addr - $remote_user [$time_local] "$request" '  
            '$status $body_bytes_sent "$http_referer" '  
            '"$http_user_agent" "$http_x_forwarded_for"';  

    access_log /var/log/nginx/access.log main;  

    sendfile on;  
    tcp_nopush on;  
    tcp_nodelay on;  
    #keepalive_timeout 0;  
    keepalive_timeout 65;  

    gzip on;  

    server {  
        listen 80;  
        server_name xiaomi.magedu.con;  
        root /data/web;  

        location / {  
            index index.php index.html index.htm;  
        }  
        location ~ \.php$ {  
            # root html;  
            fastcgi_pass 127.0.0.1:9000;  
            fastcgi_index index.php;  
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;  
            include fastcgi_params;  
        }  
    }  
}  
nginx -t 检查有没有语法错误

2、修改PHP.ini中功能配置

vim /etc/php.ini

#修改时钟配置 date.timezone = Asia/Shanghai

#可以在php.ini中设置short_open_tag = On



3、修改运行权限为nobody

vim /etc/php-fpm.d/www.conf

user = nobody

group = nobody





四、连接数据库

1、创建数据库xiaomi

systemctl start mariadb

[root@centos7 nginx]# mysql

MariaDB [(none)]> create database xiaomi;

MariaDB [(none)]> show databases;

systemctl restart nginx

systemctl restart php-fpm



2、初始化数据库,为xiaomi数据库导入数据库内容

访问http://172.17.1.177/ebak/,管理员:admin 密码:123456

[attach]116028[/attach]
[attach]116029[/attach]
[attach]116030[/attach]
[attach]116031[/attach]













往下拉,点开始恢复

[attach]116032[/attach]
[attach]116033[/attach]







3、如果连接不到数据库,改这个文件

vim /data/web/data/config.php

[attach]116034[/attach]



五、测试

在浏览器访问web服务器ip,成功之后是这样的,这是前台网站


[attach]116035[/attach]


登录网站后台http://172.17.1.177/admin

管理员姓名:admin

管理密码:admin888


[attach]116036[/attach]


在网站后台可以对网站进行设置
[attach]116037[/attach]


六、问题

如果出现nginx error等错误,可以查看日志文件/var/log/nginx/error.log查找错误原因,再进行相关设置。






欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2