maple-bbs 笔记

1:prerequirement

apt install python3-virtualenv libjpeg-dev
apt-get install libmysqlclient-dev python3-dev redis-server mysql-server
mkdir logs
mysql  -u root -p
create database bbsdb
vim /etc/redis/redis.conf
requirepass bbsredis 
systemctl restart redis
#config.py
which python3
virtualenv -p  /usr/bin/python3 bbsenv

2:验证码无法加载的问题及解决方法

raise ImportError("The _imagingft C module is not installed")

ImportError: The _imagingft C module

#在虚拟环境下
pip uninstall pillow
#给系统安装相应库
sudo apt-get install libjpeg-dev
sudo apt-get install libpng-dev

重新安装pillow

pip install pillow

3:centos安装mysql

$ wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
$ sudo rpm -ivh mysql-community-release-el7-5.noarch.rpm
$ sudo yum install mysql-server

4:重设mysql的密码

mysql -u root
use mysql
update user set password=password("new_pass") where user="root";
flush privileges;  

创建数据库

create database bbsdb

5: 进入虚拟环境,并使用gunicorn测试运行

(bbsenv) [root@iZ8vbdzx7y7owlnigdrmixZ bbsforums-master]# python runserver.py initdb
(bbsenv) [root@iZ8vbdzx7y7owlnigdrmixZ bbsforums-master]# python runserver.py create_index
(bbsenv) [root@iZ8vbdzx7y7owlnigdrmixZ bbsforums-master]# python runserver.py create_user
(bbsenv) [root@iZ8vbdzx7y7owlnigdrmixZ bbsforums-master]# gunicorn -c gunicorn.conf uwsgi:app 
#使用httpie对首页发出head请求进行测试(stauts code为200,正常)
[root@iZ8vbdzx7y7owlnigdrmixZ ~]# http head http://127.0.0.1:8080 
HTTP/1.1 200 OK
Connection: keep-alive
Content-Length: 10815
Content-Type: text/html; charset=utf-8
Date: Tue,13 Mar 2018 05:16:01 GMT
Server: gunicorn/19.4.5
Set-Cookie: remember_token=; Expires=Thu,01-Jan-1970 00:00:00 GMT; Max-Age=0; Path=/
Set-Cookie: session=eyJjc3JmX3Rva2VuIjoiOGU3ODBmMGQyYjYyNTJkZmZhYTk1MGFjN2VkYTc0MDAxYWRkOTNlNCJ9.DYjwEQ.X3l-fs6cRWmzmnrPZl5yFl5oN9U; HttpOnly; Path=/

6:配置nginx

vim /etc/nginx/nginx.conf

server {
listen 80;
servername ; #这是HOST机器的外部域名,用ip地址也行

location / {
    proxy_pass http://127.0.0.1:8080;
    proxy_set_header Host $host;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}

}</code></pre>

7:centos下验证码字体缺失问题及解决方法

self.font = core.getfont(font,size,index,encoding)

IOError: cannot open resource

yum install dejavu-sans*
mkdir /usr/share/fonts/TTF/
cp  /usr/share/fonts/dejavu/DejaVuSans.ttf  /usr/share/fonts/TTF/

8:启动forums

source bbsenv/bin/activate
cd bbsforums-master/
(bbsenv) [root@bss]# pwd
/root/bbsforums-master
(bbsenv) [root@bbs]# bash rungunicorn.sh &
systemctl start/restart nginx

跑通forums的整个过程(只支持python3,不兼容python2中package命名的问题)

1:下载原码,查看官网的简单教程

2:修改config.py (cp config.example config.py),需要修改的内容如下:

CACHE_TYPE = 'null'  #可改为'simple'
CACHE_REDIS_PASSWORD = 'your password' #设置自己的redis密码
REDIS = {'db': 1,'password': 'your password','decode_responses': True}  #设置自己的redis密码
SERVER_NAME = 'localhost:8000' #这一行注释掉,否则你会有意外的惊喜 
SUBDOMAIN = {'forums': True,'docs': True}  #'forums':False
SQLALCHEMY_DATABASE_URI = 'mysql://username:password@server/db' #设置自己mysql的用户名,密码,数据库

3:安装依赖

主要包括:mysql,redis,python3-virtual等其它为库

4:安装python的虚拟运行环境并激活

virtualenv -p /usr/bin/python3 bbsenv
source bbsenv/bin/activate

5:安装项目的python依赖

cd 项目
pip install -r requirements.txt

6:测试运行

进入mysql命令行,创建与config.py中对应的数据库
修改redis的密码
重启redis 和 mysql
python runserver.py initdb  #创建forums所有数据库
python runserver.py create_index #创建index,给缓存用
python runserver.py create_user #创建管理员
python runserver.py  #运行论坛,使用httpie或浏览器进行访问测试

相关文章

学习编程是顺着互联网的发展潮流,是一件好事。新手如何学习...
IT行业是什么工作做什么?IT行业的工作有:产品策划类、页面...
女生学Java好就业吗?女生适合学Java编程吗?目前有不少女生...
Can’t connect to local MySQL server through socket \'/v...
oracle基本命令 一、登录操作 1.管理员登录 # 管理员登录 ...
一、背景 因为项目中需要通北京网络,所以需要连vpn,但是服...