实现基于LNMP的电子商务网站

LNMP简单介绍

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

一、环境准备

centos系统、nginx源码、yum源(安装mysqlphp-fpm

  

二、安装步骤

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

2yum方式安装mariadbmariadb-serverphp-mysqlphpphp-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

  

三、修改配置文件

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 

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

  

  

  

往下拉,点开始恢复

  

  

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

vim /data/web/data/config.php

  

五、测试

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

  

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

管理员姓名:admin

管理密码:admin888

  

在网站后台可以对网站进行设置

六、问题

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

  

  

Docker是一种容器化技术,可以将应用程序及其依赖项打包成一个独立的容器,实现跨平台、快速部署和可移植性。而Docker Compose是一个用于定义和运行多个Docker容器的工具,可以通过编写一个YAML文件来定义多个容器之间的关系和配置。 要使用Docker Compose编译实现LNMP网站建设,可以按照以下步骤进行: 1. 安装Docker和Docker Compose:首先需要在你的机器上安装Docker和Docker Compose。你可以在Docker官方网站上找到相应的安装指南。 2. 创建Docker Compose文件:在你的项目目录下创建一个名为docker-compose.yml的文件,并在其中定义你的LNMP服务。例如: ```yaml version: '3' services: nginx: image: nginx ports: - 80:80 volumes: - ./nginx.conf:/etc/nginx/nginx.conf - ./html:/usr/share/nginx/html depends_on: - php php: image: php:fpm volumes: - ./php.ini:/usr/local/etc/php/php.ini - ./php:/var/www/html mysql: image: mysql environment: MYSQL_ROOT_PASSWORD: your_password volumes: - ./mysql:/var/lib/mysql ``` 上述示例中,我们定义了三个服务:nginx、php和mysql。nginx服务使用官方的nginx镜像,将主机的80端口映射到容器的80端口,并挂载了nginx.conf和html目录。php服务使用官方的php:fpm镜像,并挂载了php.ini和php目录。mysql服务使用官方的mysql镜像,并设置了root用户的密码,并挂载了mysql目录。 3. 编写配置文件:根据你的需求,编写nginx.conf和php.ini配置文件,并放置在与docker-compose.yml文件同级的目录下。 4. 构建和启动容器:在项目目录下执行以下命令,构建和启动容器: ``` docker-compose up -d ``` 这将会根据docker-compose.yml文件中的定义,创建并启动LNMP服务的容器。 至此,你就成功使用Docker Compose编译实现LNMP网站建设。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值