当前位置: 首页 > news >正文

Centos9傻瓜式linux部署CRMEB 开源商城系统(PHP)

基础设置:

关闭防火墙、关闭SELinux:

systemctl stop firewalld
systemctl disable firewalld
setenforce 0

安装dnf
先安装 epel-release 依赖:

yum install epel-release
yum install dnf

使用git拉去CRMEB项目

先安装git

sudo dnf install git -y 
mkdir /data && cd /data 
git clone https://gitee.com/ZhongBangKeJi/CRMEB.git
cd /data/CRMEB  

修改数据库配置文件,根据实际情况修改,(后面dnf脚本安装mysql,用户为root密码为Aa123456.)路径为:

#只能使用该路径修改
cd /data/CRMEB
vi crmeb/.env
APP_DEBUG = false[APP]
DEFAULT_TIMEZONE = Asia/Shanghai[DATABASE]
TYPE = mysql
HOSTNAME = 127.0.0.1 #数据库连接地址
HOSTPORT = 3306 #数据库端口
USERNAME = username #数据库登录账号
PASSWORD = password #数据库登录密码
DATABASE = test #数据库名称
PREFIX = eb_ #数据库表前缀
CHARSET = utf8mb4
DEBUG = true[LANG]
default_lang = zh-cn[CACHE]
DRIVER = file #缓存类型,支持file和redis
CACHE_PREFIX = cache_123456789 #缓存前缀
CACHE_TAG_PREFIX = cache_tag_123456789 #缓存标签前缀[REDIS]
REDIS_HOSTNAME = 127.0.0.1 #redis服务器地址,本地请填写127.0.0.1
PORT = 6379 #redis端口,默认6379
REDIS_PASSWORD = password #redis数据库密码,默认为空
SELECT = 0 #redis数据库,默认0-15中的一个[QUEUE]
QUEUE_NAME = 123456789 #队列前缀

修改文件权限

修改目录权限(linux系统) 777

cd crmeb/
chmod +R 777  【需要加权的文件】
#这些文件全部777权限一个个授权
#没有backup需要手动创建并加权
mkdir backup
chmod 777 -R backup/
chmod 777 -R public/
chmod 777 -R runtime/
chmod 777 -R .env
chmod 777 -R .version
chmod 777 -R .constant

 

配置项目环境

 1.1 dnf安装php环境:

sudo dnf install epel-release -y
sudo dnf install https://rpms.remirepo.net/enterprise/remi-release-9.rpm -y
dnf module list php
sudo dnf module enable php:remi-7.4
sudo dnf install php php-cli php-common
php -v
systemctl start php-fpm
systemctl enable php-fpm
dnf install composer -y

1.2 配置php环境:


vi /etc/php.iniupload_max_filesize = 32M 
post_max_size = 48M 
memory_limit = 256M 
max_execution_time = 600 
max_input_vars = 3000 
max_input_time = 1000

 1.3 安装项目必要的php组件:

sudo dnf install php-mysqli -y
sudo  dnf install php-bcmath -y
sudo dnf install php-gd -y

1.4  启动php-fpm

sudo systemctl restart php-fpm
#或
sudo systemctl start php-fpm
#查看状态
sudo systemctl status php-fpm

2.1安装nginx

sudo dnf install nginx -y

 2.2在nginx中配置项目

   vi /etc/nginx/nginx.conf
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;
include /usr/share/nginx/modules/*.conf;
events {worker_connections 1024;
}
http {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   65;types_hash_max_size 4096;include             /etc/nginx/mime.types;default_type        application/octet-stream;# Load modular configuration files from the /etc/nginx/conf.d directory.# See http://nginx.org/en/docs/ngx_core_module.html#include# for more information.include /etc/nginx/conf.d/*.conf;server {listen       80;listen       [::]:80;server_name  _;#项目根目录root /data/CRMEB/crmeb/public;# Load configuration files for the default server block.include /etc/nginx/default.d/*.conf;error_page 404 /404.html;location = /404.html {}error_page 500 502 503 504 /50x.html;location = /50x.html {}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;}location / {index index.html index.php;   #增加index.php首页if (!-e $request_filename) {   #伪静态处理rewrite  ^(.*)$  /index.php?s=$1  last;break;}}}
}

3.1 使用脚本安装mysql

创建mysql.sh,复制文本到linux系统

使用:source执行脚本即可

用户:root,密码:Aa123456.有个点别忘了

vi mysql.sh
#!/bin/bash
# 0. 注意: 建议你们在操作前,先存个快照,因为安装mysql的时候,会遇到各种各样问题,如果我之前已经安装过了,
# 建议你恢复快照到只配了 ssh免密登录,安装vim,安装 epel仓库等,我前天提供的资料里面有三个服务器,你直接挂载
# 1. 安装mysql仓库
dnf install -y https://dev.mysql.com/get/mysql80-community-release-el9-1.noarch.rpm
# 2. 查看是否启动了仓库
dnf repolist enabled | grep mysql &> /dev/null
# 3. 安装mysql
[ $? -eq 0 ] && dnf install -y mysql-community-server --nogpgcheck
# 4. 判断是否安装成功了吧
if [ $? -eq 0 ]; then# 代表安装成功了echo "安装成功!!"# 启动mysqlsystemctl start mysqld# 设置开机自启systemctl enable mysqld
else#  代表安装失败了echo "安装失败!!"exit
fi
# 5. 获取mysql的临时密码
grep password /var/log/mysqld.log | awk '{print $NF}' >> /root/mysql_paswd.txt
# 5.1 将 /root/mysql_paswd.txt 文件中的内容 取出,并赋值给一个变量
TEMP_PASSWORD=`cat /root/mysql_paswd.txt`
# 6. 登录mysql,修改密码,删除临时用户,
# 登录 MySQL 并执行配置
MYSQL_ROOT_PASSWORD="Aa123456."
# --connect-timeout=10 : 连接10s,如果没有连接成功,直接停止
# <<EOF EOF  这是定界符
mysql --connect-timeout=10 -uroot -p"$TEMP_PASSWORD" --connect-expired-password <<EOF
-- 设置新的 root 密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '$MYSQL_ROOT_PASSWORD';
-- 创建一个 root@% 账号
-- %:代表所有的ip都能访问我的数据库
CREATE USER 'root'@'%' IDENTIFIED BY '$MYSQL_ROOT_PASSWORD';
-- 这是赋值权限
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
-- 删除匿名用户
DELETE FROM mysql.user WHERE User='';
-- 删除 test 数据库
DROP DATABASE IF EXISTS test;
-- 刷新权限
FLUSH PRIVILEGES;
EOF# 以上就是 mysql安装成功,并设置了 root 账号密码
# 导入数据
echo "开放3306端口号..."
firewall-cmd --zone=public --add-port=3306/tcp --permanent &> /dev/null
echo "开放3306端口号完成..."
#重新加载防火
firewall-cmd --reload

运行mysql.sh

source mysql.sh

配置mysql启动需要的my.conf 文件

# 修改my.cnf
vim /etc/my.cnf
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.socklog-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pidlog-bin=/var/lib/mysql/binlog
server-id=10
character_set_server=utf8mb4
gtid-mode=on
log-slave-updates=1
enforce-gtid-consistency
sql_mode=NO_ENGINE_SUBSTITUTION

重新启动mysqld

systemctl restart mysqld

 

 

 

 

http://www.dtcms.com/a/330960.html

相关文章:

  • 流式数据服务端怎么传给前端,前端怎么接收?
  • Keil 微库(MicroLib)深度解析
  • USB 3.0 协议层 包定义
  • 微软对传统网页设计工具在2010年停止开发
  • Sql server 命令行和控制台使用二三事
  • web网站开发,在线%射击比赛成绩管理%系统开发demo,基于html,css,jquery,python,django,model,orm,mysql数据库
  • 一文讲透Go语言并发模型
  • Pytest本地插件定制及发布指南
  • Redis7学习--十大数据类型 bitmap、Hyperloglog、GEO、Stream、bitfield
  • PAT乙级_1073 多选题常见计分法_Python_AC解法_含疑难点
  • mysql查询中的filesort是指什么
  • Linux软件编程:进程和线程
  • 火山引擎数智平台发布 Data Agent“一客一策“与 AI 数据湖“算子广场“
  • 【Python】新手入门:什么是python字符编码?python标识符?什么是pyhon保留字?
  • 【数据集介绍】多种飞机检测的YOLO数据集介绍
  • 服务器数据恢复—误删服务器卷数据的数据恢复案例
  • 配置docker pull走http代理
  • 集成电路学习:什么是Video Processing视频处理
  • 网络原理-HTTP
  • 【论文阅读】基于多变量CNN模型的可穿戴外骨骼机器人人体运动活动识别
  • Notepad++插件开发实战:从零打造效率工具
  • 边缘光效果加流光效果
  • 从0开始跟小甲鱼C语言视频使用linux一步步学习C语言(持续更新)8.14
  • 测试开发的社区:测试之家
  • 从根源到生态:Apache Doris 与 StarRocks 的深度对比 —— 论开源基因与长期价值的优越性
  • lib.dom.d.ts
  • 速通C++类型转换(代码+注释)
  • 【自动化测试】Web自动化测试 Selenium
  • docker rm删除容器命令入门教程
  • [论文阅读] 人工智能 + 软件工程 | 从模糊到精准:模块化LLM agents(REQINONE)如何重塑SRS生成