安装使用
浏览数 89688
最后修改时间
运行要求
- PHP 7.0及以上
- Linux系统
- Nginx服务器
- MySQL数据
- Redis缓存
- 阿里云短信服务和云片短信至少一项
- 阿里云邮件服务和支持phpmailer的邮件发送账户至少一项
- 阿里云OSS对象存储,此项为可选,如果没有OSS则会把图片存储在本地
一、下载
官网下载
或者前往github下载
#进入根目录
cd /
#创建存放安装程序的目录(如果已有此目录则不用创建)
sudo mkdir software
#进入目录
cd software
#下载源码包
sudo wget https://github.com/wujianwu8/YiluPHP_UC/archive/refs/heads/master.zip
或者官网下载
sudo wget https://www.yiluphp.com/download/file/YiluphpUC-v2_0_zip
二、解压到你存放代码的目录
#解压到当前目录
sudo tar -zxvf YiluphpUC-v2.0.zip
#创建存放和运行代码的目录(根据你的需要创建,如果目录已经存在则不做此步)
sudo mkdir -p /data/web
#移动文件到目标目录
sudo mv /software/YiluphpUC-v2.0 /data/web/www.yiluphpuc.com
#修改日志目录的权限,需要允许php读写
sudo chmod -R 777 /data/web/www.yiluphpuc.com/logs
#修改静态文件目录和语言包目录的权限,需要允许php读写
sudo chmod -R 777 /data/web/www.yiluphpuc.com/static
sudo chmod -R 777 /data/web/www.yiluphpuc.com/lang
三、在web服务器中创建虚拟主机
和YiluPHP框架的虚拟主机配置文件一样的,这里以nginx为例,每个人虚拟主机的配置目录位置可能不一样
sudo vim /usr/local/tengine-2.3.2/conf/vhost/www.yiluphpuc.com.conf
将以下内容拷贝到文件里,根据你的项目修改配置信息,然后保存
server {
#设置监听端口
listen 80;
#在这里设置你的访问域名
server_name www.yiluphpuc.com;
#设置nginx访问日志的保存地址,需要确保目录和文件具有读写的权限
access_log /logs/www.yiluphpuc.com.ngx-access.log;
#设置nginx错误日志的保存地址,需要确保目录和文件具有读写的权限
error_log /logs/www.yiluphpuc.com.ngx-error.log;
#设置根目录,把默认的根目录指向静态文件的目录
root /data/web/www.yiluphpuc.com/public;
#设置默认首页,默认首页使用静态文件,提高访问速度
index index.php;
location / {
# 如果在static目录中找不到真实存在的文件,把请求分发至index.php
try_files $uri $uri/ /index.php?$args;
}
# 非PHP文件访问static目录
location ~ .((?!php).)*$ {
root /data/web/www.yiluphpuc.com/static;
index index.shtml;
}
# PHP文件访问public目录
location ~ .php$ {
root /data/web/www.yiluphpuc.com/public;
index index.php;
#nginx与php-fpm的连接方式改成与你的nginx设置的一致
#fastcgi_pass 127.0.0.1:9001;
fastcgi_pass unix:/tmp/php-cgi.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param PATH_INFO $fastcgi_path_info;
include fastcgi_params;
}
fastcgi_intercept_errors on;
#设置404页面路径
error_page 404 /error/404.html;
}
四、重启你的web服务
这里举例是重启Nginx,我的重启命令是
sudo service nginx reload
五、创建数据库
在解压后的文件中有一个目录 document ,里面有一个文件 YiluphpUC.sql ,是创建数据表和初始化数据的SQL,先创建你的数据库,例如库叫是 yiluphp_uc,然后执行 YiluphpUC.sql 里的SQL创建数据表。
六、配置数据库连接
如果不分库分表则将 split_table 配置为false,用户人数少于500万可以不分表,大于500万建议分表,会得到更快的查询速度。
假设数据库名是yiluphp_uc,登录名是 root,登录密码是 123456。
/**
* 是否对数据表进行分表分库,true为分表分库,false为不分表分库,默认为false
* 如果需要分表分库,需要先配置所有分库的Mysql连接,然后确保停止了增加和修改数据,再手工导数据到各分表
* 分表方式按表中某整数类型的字段的后两位数进行拆分,拆分成100个分表
* 分表的库连接名称也是在默认的库连接名称(default)后面加下划线加分表的数字后缀,如default_1, default_23
**/
'split_table' => false,
'mysql' => [
'default' => [
'dsn' => 'mysql:host=127.0.0.1;port=3306;dbname=yiluphp_uc',
'username' => 'root',
'password' => '123456',
'charset' => 'utf8',
'option' => [],
]
],
七、配置Redis连接
假设 redis 就在本机,且不需要密码登录
'redis' => [
'default' => [
'host' => '127.0.0.1',
'port' => 6379,
'default_db' => 0,
]
],
八、初始化缓存
在你的服务器上执行这两个脚本,这里的php路径根据你的安装目录进行修改,yilu的访问路径也改成你的路径。
#创建1万个待用id,count参数为需要生成的数量,disuse_old为1表示把旧的ID作废掉,0则是保留
/usr/local/php7.4.16/bin/php /data/web/www.yiluphpuc.com/yilu batch_insert_uuid "count=10000&disuse_old=1"
#初始化一些缓存数据
/usr/local/php7.4.16/bin/php /data/web/www.yiluphpuc.com/yilu build_necessary_redis_data
#创建1万个待用id,count参数为需要生成的数量,disuse_old为1表示把旧的ID作废掉,0则是保留
/usr/local/php7.4.16/bin/php /data/web/www.yiluphpuc.com/yilu batch_insert_uuid "count=10000&disuse_old=1"
#初始化一些缓存数据
/usr/local/php7.4.16/bin/php /data/web/www.yiluphpuc.com/yilu build_necessary_redis_data
九、配置发短信的账号
本系统支持阿里云的邮储推送服务和云片的短信服务,至少需要其中一个账号,短信功能可用于用户注册、找回密码。
/*
* 发短信和语音的平台列表
* 键名需与sms.php的方法名对应
* */
'sms' => [
//阿里云短信推送
'aliyun' => [
'access_key_id' => 'your_access_key_id', //在阿里云申请到的accessKeyId
'access_key_secret' => 'your_access_key_secret', //在阿里云申请到的accessKeySecret
'region_id' => 'cn-shengzhen', //在阿里云申请到的短信使用区域regionId
'template_code_zh' => 'SMS_176928888', //短信模板CODE,中文
'template_code_en' => 'SMS_176946666', //短信模板CODE,英文
'sign_name_zh' => 'YiluPHP', //短信签名,中文
'sign_name_en' => 'YiluPHP', //短信签名,英文
],
//云片短信平台,注释了则不会使用
// 'yun_pian' => [
// 'api_key' => '41eb4325daaaaaafeeeee9a98199c888888888', //在云片申请到的api key
// ],
],
十、配置发邮件的账号
本系统支持阿里云的邮件推送服务和 phpmailer 邮件组件,请前往 阿里云 注册和申请邮件推送服务,阿里云的邮件推广服务按量收费,每个月还有免费的邮件数量赠送。或者网上搜索一下 phpmailer 的配置方式,例如你可以使用QQ邮箱进行邮件发送,使用phpmailer是完全免费的,使用phpmailer的发送速度会更慢,如果你的邮件发送很频繁还是使用阿里去更合适。也可以两种都使用,系统会把发给QQ邮箱的邮件使用phpmailer发送,其它的邮件按你设置的权重 weight 值的比例随机分派到两种邮件发送途径上,weight的值越大,被使用的概率也越大。
/*
* 邮件系统相关配置,目前支持使用PHPmailer组件和阿里云邮件推送产品进行邮件送送
* 阿里云邮件推送产品按量收费,没有最低消费要求,且每天有200条的免费邮件可以使用
* */
'mailer' =>[
//在此使用可使用的发邮件方式,可配置多个,phpmailer或aliyun
// 'usable' => ['aliyun', 'phpmailer'],
'usable' => ['aliyun'],
//是否强制使用phpmailer给QQ邮箱发邮件
//设置为true则一定使用phpmailer给QQ邮箱发邮件,这样做是因为使用阿里云的邮件推送容易进QQ邮箱的垃圾桶里
'qq_email_use_phpmailer' => true,
//使用阿里云邮件推送产品的相关配置
'aliyun' => [
'weight' => 1, //使用的权重,0-100的整数,数值越大使用的概率就越大,不设置默认为1
'access_key_id' => 'your_access_key_id',
'access_key_secret' => 'your_access_key_secret',
//用于发送找回密码的邮件的地址
'from_email' => 'notice@yiluphp.cn',
//用于发件人名称
'from_name' => 'YiluPHP邮件通知系统',
],
//使用PHPmailer组件的相关配置
'phpmailer' => [
'weight' => 10, //使用的权重,0-100的整数,数值越大使用的概率就越大,不设置默认为1
//用于发送邮件的地址
'from_email' => '888888@qq.com',
//用于发件人名称
'from_name' => 'YiluPHP邮件通知系统',
'host' => 'smtp.qq.com', //指定发邮件的主服务器和备份SMTP服务器
'mailer_type' => 'smtp', //邮箱服务器类型:smtp, mail, sendmail, qmail,
'username' => '888888@qq.com', //SMTP用户名
'password' => 'your_smtp_password', //SMTP密码
'port' => 465,
'SMTP_secure' => 'ssl', //启用TLS加密,也接受'ssl'
'reply_to_email' => '666666@qq.com', //接收回信的邮箱地址
//设置错误信息的语言,默认为zh_cn
'language' => 'zh_cn',
//启用详细调试输出,`0` No output,`1` Commands,`2` Data and commands,`3` As 2 plus connection status,`4` Low-level data output.
'debug' => 0,
],
],
十一、配置文件存储账号(此步骤非必须)
这里用到的是阿里云的OSS对象存储,如果你不配置OSS的账号则文件会存储在本机,访问文件使用和网站一样的域名。
/*
* 文件上传OSS配置
* 根据你申请的阿里云OSS信息进行修改
*/
'oss' => [
'aliyun' => [
'accessKeyId' => 'LTAI4FsKnMaaccessKeyId88888',
'accessKeySecret' => 'aEnXeIxUEaccessKeySecret88888',
'endpoint' => 'http://oss-cn-shenzhen.aliyuncs.com',
'bucketName' => 'your_bucketName',
'visit_host' => 'https://yiluphp.oss-cn-shenzhen.aliyuncs.com/',
]
],
十二、重新生成RAS加解密用的公钥和私钥
系统自带的公钥和私钥是所有人都知晓的,并且密码长度不够,极为不安全,请务必重新生成一对公私钥,替换掉原来的文件 document/rsa_private_key.pem 和 document/rsa_public_key.pem ,系统提供了生成RAS公私钥的方法,文件在 document/生成RAS公钥和私钥的方法.txt ,你也可以网上搜索 RAS的公钥和密钥的生成方法。
警告:
私钥用于服务器端解密,不能对外泄露。
十三、申请第三方登录的账号(非必须)
YiluphpUC使用手机号注册,登录后可以管理后设置登录邮件和登录名。同时本系统支持微信授权登录、QQ授权登录、支付宝授权登录,你可以前往这三个平台申请相关账号,申请成功给予相应配置,如果不使用第三方授权登录,请将相应的配置信息注释掉。
微信公众平台(服务号才有授权登录功能) https://mp.weixin.qq.com/
微信开放平台 https://open.weixin.qq.com/
QQ开放平台 https://open.tencent.com/
/**
* 第三方授权登录的相关配置
**/
'oauth_plat' => [
'qq' => [
'usable' => true, //true为可登录,false为不可登录
'app_key' => '101888888', //appid
'app_secret' => '88your_app_secret_888',
'callback' => 'https://www.yiluphpuc.com/sign/qq_callback',
'authorize' => '',
],
//微信公众平台的
'wechat' => [
'usable' => true, //true为可登录,false为不可登录
'app_key' => 'wx888your_app_key_888', //appid
'app_secret' => '88your_app_secret_888',
'callback' => 'https://www.yiluphpuc.com/sign/wechat_callback',
],
//微信开放平台的
'wechat_open' => [
'usable' => true, //true为可登录,false为不可登录
'app_key' => 'wx888your_app_key_888', //appid
'app_secret' => '88your_app_secret_888',
'callback' => 'https://www.yiluphpuc.com/sign/wechat_callback/open/1',
],
'alipay' => [
'usable' => true, //true为可登录,false为不可登录
'app_id' => '20191016666688888', //appid
//请填写开发者私钥去头去尾去回车,一行字符串
'rsa_private_key' => 'MIIEvg...这中间有很长的一段字符串...BBB',
//请填写开发者公钥,一行字符串
'rsa_public_key' => 'MIIBI...这中间有很长的一段字符串...ABC',
//请填写支付宝公钥
'alipay_rsa_public_key' => 'MIIBI...这中间有很长的一段字符串...ABC',
'sign_type' => 'RSA2',
//接口内容加密方式:AES密钥
'encrypt_key' => 'OpM888your_encrypt_key==',
'callback' => 'https://www.yiluphpuc.com/sign/alipay_callback',
],
],
十四、配置hosts,让你的本机可以访问第三步创建的虚拟主机
请百度搜索配置hosts的方法,配置过程中若遇到问题也请百度。
十五、在浏览器中输入域名访问
如果浏览器中出现以下中文界面或英文界面之一,则表示已经安装成功。
默认已有一个管理员账号,登录名:admin,登录密码是:YiluPHP@2019