fy0 / Icarus

🕊️ An opensource community/forum project write with python3 aiohttp and vue.js. 一个开源的社区程序,临时测试站:https://t.myrpg.cn
zlib License
657 stars 123 forks source link

安装配置遇到的问题。希望能够改进部署文档。 #16

Closed ShireCiel closed 5 years ago

ShireCiel commented 5 years ago
  1. 前端代码编译无法在1G RAM且没有swap的机器上编译成功。 报错只是某个模块编译错误,没有详细信息,搜了好久,看到会不会是内存问题,设置了swap后就编译通过了。
  2. 数据库安装好了后,创建数据库默认编码是SQL_ASCII。创建数据库的时候应该指定编码。 (我也不知道为什么默认全部都是ASCII编码的)。 初次初始化的时候pewee会报错。(UnicodeEncodeError: 'ascii' codec can't encode characters in position 0-2: ordinal not in range(128)),调试了半天,最终检查了数据库编码,发现是ASCII的,还没办法直接创建UTF-8的数据库,依靠网上教程,搞了变天终于创建了UTF-8的编码,后端正常启动。 以上。希望能够改进一下部署文档,增加一些需要注意的地方。
fy0 commented 5 years ago

抱歉,最近几天一直在病中,无法及时回复。

  1. 前端这块build使用的内存控制不住……毕竟node的内存策略是尽可能多用少放,这只能后面加个提示了。

  2. 这个不太了解啊,我从PG 9.5开始使用至今,从来没设置过什么数据库编码。是11.X新版本有变化吗?

ShireCiel commented 5 years ago

第二点。我今天重新在另外一台机器上安装了PG10 发现默认的数据库编码都是 UTF-8的而不是SQL_ASCII。 (我觉得可能跟系统默认编码有关,默认编码是什么安装好PG的默认编码就是什么。) 不过还是加上 “启动遇到 UnicodeEncodeError,检查一下PG数据库的编码" 的提示把。 除此之外没有其他问题了。 感觉作者写的BBS很棒,很简洁并且想要的功能点都有!

fy0 commented 5 years ago

emmmm 你原来的系统是啥。我看ubuntu是默认源里没有,添加了PG官方源的话应该是默认建好utf8数据库。 另外archlinux(manjaro)软件源里有pg11,不过装好之后默认没建立数据库,但给出的建立提示也是utf-8的,虽然是en_US.UTF8

[fy@fy-pc ~]$ systemctl status postgresql
● postgresql.service - PostgreSQL database server
   Loaded: loaded (/usr/lib/systemd/system/postgresql.service; enabled; vendor preset: disabled)
   Active: failed (Result: exit-code) since Fri 2019-02-15 14:27:47 CST; 7s ago
  Process: 1462 ExecStartPre=/usr/bin/postgresql-check-db-dir ${PGROOT}/data (code=exited, status=1/FAILURE)

2月 15 14:27:47 fy-pc systemd[1]: Starting PostgreSQL database server...
2月 15 14:27:47 fy-pc postgres[1462]: "/var/lib/postgres/data" is missing or empty. Use a command like
2月 15 14:27:47 fy-pc postgres[1462]:   su - postgres -c "initdb --locale en_US.UTF-8 -D '/var/lib/postgres/data'"
2月 15 14:27:47 fy-pc postgres[1462]: with relevant options, to initialize the database cluster.
2月 15 14:27:47 fy-pc systemd[1]: postgresql.service: Control process exited, code=exited status=1
2月 15 14:27:47 fy-pc systemd[1]: postgresql.service: Failed with result 'exit-code'.
2月 15 14:27:47 fy-pc systemd[1]: Failed to start PostgreSQL database server.
ShireCiel commented 5 years ago

emmmm 你原来的系统是啥。我看ubuntu是默认源里没有,添加了PG官方源的话应该是默认建好utf8数据库。 另外archlinux(manjaro)软件源里有pg11,不过装好之后默认没建立数据库,但给出的建立提示也是utf-8的,虽然是en_US.UTF8

[fy@fy-pc ~]$ systemctl status postgresql
● postgresql.service - PostgreSQL database server
   Loaded: loaded (/usr/lib/systemd/system/postgresql.service; enabled; vendor preset: disabled)
   Active: failed (Result: exit-code) since Fri 2019-02-15 14:27:47 CST; 7s ago
  Process: 1462 ExecStartPre=/usr/bin/postgresql-check-db-dir ${PGROOT}/data (code=exited, status=1/FAILURE)

2月 15 14:27:47 fy-pc systemd[1]: Starting PostgreSQL database server...
2月 15 14:27:47 fy-pc postgres[1462]: "/var/lib/postgres/data" is missing or empty. Use a command like
2月 15 14:27:47 fy-pc postgres[1462]:   su - postgres -c "initdb --locale en_US.UTF-8 -D '/var/lib/postgres/data'"
2月 15 14:27:47 fy-pc postgres[1462]: with relevant options, to initialize the database cluster.
2月 15 14:27:47 fy-pc systemd[1]: postgresql.service: Control process exited, code=exited status=1
2月 15 14:27:47 fy-pc systemd[1]: postgresql.service: Failed with result 'exit-code'.
2月 15 14:27:47 fy-pc systemd[1]: Failed to start PostgreSQL database server.

我第一次用的ubuntu16.04试的。第二次 换了一台机器也是ubuntu16.04的。但是第一次默认是ASCII 第二次是换一台以及一样系统是UTF-8

fy0 commented 5 years ago

终于遇到了类似案例,这次是18.04 解决方案: update pg_database set encoding = pg_char_to_encoding('UTF8') where datname = 'icarus';