请选择 进入手机版 | 继续访问电脑版

网硕互联技术交流社区

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1207|回复: 0

记一次umami隐私统计的安装和配置过程(完整)

[复制链接]

4

主题

4

帖子

42

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
42
发表于 2022-8-12 19:36:05 | 显示全部楼层 |阅读模式
UMAMI使用nodejs编写,是一个用于替代Google Analytics等第三方统计平台,更专注于用户隐私保护的自建统计项目。

UMAMI 适用于安装了nodejs的服务器环境,也可以运行在docker 上,我们在此介绍服务器本地部署操作流程。

所需要的本地运行环境为 nodejs+npm+mysql+pm2+nginx

一、nodejs 、npm 安装
1,首先添加epel yum源:
  1. yum install epel-release -y
复制代码

2,安装node npm:
  1. yum install node npm -y
复制代码

二、mysql安装:
1,下载mysql安装包:
  1. wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz
复制代码

3,解压并将改名为mysql 移动到/usr/local/目录下
  1. tar -zxvf mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz
  2. mv mysql-5.7.22-linux-glibc2.12-x86_64 /usr/local/mysql/
复制代码

4,创建data目录:
  1. mkdir /usr/local/mysql/data
复制代码

5,创建mysql用户组:
  1. groupadd mysql
复制代码

6,创建mysql 用户:
  1. useradd mysql -g mysql
复制代码

7,设置mysql目录权限
  1. chown -R mysql.mysql /usr/local/mysql
复制代码

8,安装numactl、libaio:
  1. yum -y install numactl libaio
复制代码

9,配置mysql:
  1. /usr/local/mysql/bin/mysqld --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data --initialize
复制代码

10,修改/etc/my.cnf文件内容为:
  1. [mysqld]
  2. datadir=/usr/local/mysql/data
  3. port = 3306
  4. sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
  5. symbolic-links=0
  6. max_connections=400
  7. innodb_file_per_table=1
  8. #表名大小写不明感,敏感为
  9. lower_case_table_names=1
复制代码

11,给my.cnf权限 :
  1. chmod -R 775 /etc/my.cnf
复制代码

12,将mysql加入服务
  1. ln -s /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql
  2. ln -s /usr/local/mysql/bin/mysql /usr/bin/mysql
  3. //重启mysql服务
  4. service mysql restart
复制代码

13,开机自启
  1. chkconfig mysql on
复制代码

14,启动
  1. service mysql start
复制代码

15,登陆mysql 修改初始密码(初始密码在第9步配置时有显示,注意查看):
  1. mysql -uroot -p初始密码
复制代码
  1. set password for root@localhost = password('新密码');
复制代码
  1. flush privileges;
复制代码


三、安装umami 和 配置
1,拉取并安装umami:
  1. git clone https://github.com/mikecao/umami.git
  2. cd umami
  3. npm install
复制代码

如果没有git ,通过yum安装:
  1. yum -y install git
复制代码

2,导入数据库:
  1. mysql -u username -p databasename < sql/schema.mysql.sql
复制代码

3,在umami目录下新建.env文件
  1. vi .env
  2. DATABASE_URL=mysql://username:mypassword@localhost:3306/databasename
  3. HASH_SALT=随机生成
复制代码

4,在umami目录下执行如下命令, 即可生成编译后的工程文件
  1. npm run build
复制代码

5,启动:
  1. npm start
复制代码

按照官方readme说的直接npm start是可以的,默认会运行在3000,但是我们如果关闭了终端会话,也会停止运行,在此通过pm2 来实现后台和自动运行:

6,先安装pm2:
  1. npm install pm2 -g
复制代码

7,在umami目录下执行:
  1. pm2 start npm --name umami -- start
  2. pm2 startup
  3. pm2 save
复制代码
8,pm2 相关命令说明:
  1. npm install pm2 -g     # 命令行安装 pm2
  2. pm2 start app.js -i 4 #后台运行pm2,启动4个app.js
  3.                               # 也可以把'max' 参数传递给 start
  4.                               # 正确的进程数目依赖于Cpu的核心数目
  5. pm2 start app.js --name my-api # 命名进程
  6. pm2 list               # 显示所有进程状态
  7. pm2 monit              # 监视所有进程
  8. pm2 logs               #  显示所有进程日志
  9. pm2 stop all           # 停止所有进程
  10. pm2 restart all        # 重启所有进程
  11. pm2 reload all         # 0秒停机重载进程 (用于 NETWORKED 进程)
  12. pm2 stop 0             # 停止指定的进程
  13. pm2 restart 0          # 重启指定的进程
  14. pm2 startup            # 产生 init 脚本 保持进程活着
  15. pm2 web                # 运行健壮的 computer API endpoint (http://localhost:9615)
  16. pm2 delete 0           # 杀死指定的进程
  17. pm2 delete all         # 杀死全部进程
复制代码


到此配置完成,但访问时,需要加上3000端口,可以安装nginx进行反代实现域名直接访问。

四、安装nginx实现反代
1,添加源:
  1. rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
复制代码

2,进行yum安装nginx:
  1. yum -y install nginx
复制代码

3、启动Nginx并设置开机自动运行
  1. sudo systemctl start nginx
  2. sudo systemctl enable nginx
复制代码

4,编辑/etc/nginx/nginx.conf(也可以修改/etc/nginx/conf.d/default.conf)配置反向代理配置代码:
  1. server{
  2.     server_name 你的域名;
  3.     location / {
  4.         proxy_pass http://127.0.0.1:3000;
  5.         proxy_set_header X-Real-IP $remote_addr;
  6.         proxy_set_header Host $host;
  7.         proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  8.     }
  9. }
复制代码



到此配置完成,可以通过绑定的域名进行访问了。





回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|网硕互联技术交流社区

GMT+8, 2024-3-29 15:06 , Processed in 0.213188 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表