1. 文档说明
(1) 操作系统选用CentOS 7.6
(2) 默认路径为root目录
2. 配置Anaconda
1)wege下载命令
wget https://repo.anaconda.com/archive/Anaconda3-2020.07-Linux-x86_64.sh
(2)执行安装命令
sh Anaconda3-2020.07-Linux-x86_64.sh
(3)环境变量配置
输入编辑命令:vim /root/.bashrc
按i进入编辑模式,在最后添加:
export PATH="/root/anaconda3/bin:$PATH"
刷新环境变量:source ~/.bashrc
(4)更新相关包(标注版本号的是对版本有要求)
conda upgrade --all
conda install python==3.7.9
conda install Django==3.0.3
pip install django-simple-captcha
conda install mysqlclient
3. 配置Mysql
(1)下载并安装MySQL官方的 Yum Repository
wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
yum -y install mysql57-community-release-el7-10.noarch.rpm
yum -y install mysql-community-server
(2)mysql数据库设置
启动mysql systemctl start mysqld.service
grep "password" /var/log/mysqld.log
找密码
进入数据库 mysql -uroot -p
修改密码 ALTER USER 'root'@'localhost' IDENTIFIED BY 'newpassword';
(3)开启远程访问
grant all privileges on *.* to 'root'@'%' identified by 'password' with grant option;
flush privileges;
exit
(4)更改mysql语言
vi /etc/my.cnf
新增四行代码
[client]
default-character-set=utf8
character-set-server=utf8
collation-server=utf8_general_ci
重启mysql service mysqld restart
(5)远程登录,新建数据库,字符集为utf8,排序规则为utf8_general_ci。然后导入相关sql文件
4. 配置Django
(1)修改项目根目录下settings.py中数据库密码
(2)进入项目目录,输入如下命令进行迁移
python manage.py makemigrations --empty yourapp
python manage.py makemigrations
python manage.py migrate yourapp
python manage.py migrate
远程登陆数据库,可以看到生成了数据表.
(3)创建超级用户并进行相关设置
python manage.py createsuperuser
5. 配置Nginx
(1)安装Nginx yum install nginx
(2)找到Nginx程序 cd /usr/sbin/
(3)检查Nginx是否能够正常运行 ./nginx -t
(4)运行Nginx ./nginx
6.配置uWSGI
(1)安装uWSGI pip install uwsgi
(2)配置uWSGI文件
在/root/medicine/创建uwsgi.ini文件
vim /root/medicine/uwsgi.ini
把下面这些内容复制进去(具体配置可根据需求进行更改)
#添加配置选择
[uwsgi]
#配置和nginx连接的socket连接
socket=127.0.0.1:8997
#配置项目路径,项目的所在目录
chdir=/root/medicine/
#配置wsgi接口模块文件路径,也就是wsgi.py这个文件所在的目录名
wsgi-file=medicine/wsgi.py
#配置启动的进程数
processes=4
#配置每个进程的线程数
threads=2
#配置启动管理主进程
master=True
#配置存放主进程的进程号文件
pidfile=uwsgi.pid
#配置dump日志记录
daemonize=uwsgi.log
(3)启动uwsgi服务 uwsgi --ini uwsgi.ini
(4)配置nginx文件
# 进入uwsgi配置文件路径
cd /etc/nginx/
# 编辑nginx.conf文件
vim nginx.conf
# 把所有的内容都删掉,替换成下面这些
user root;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
server {
listen 80;
server_name 127.0.0.1:80; #改为自己的域名,没域名修改为127.0.0.1:80
charset utf-8;
location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:8997; #端口要和uwsgi里配置的一样
uwsgi_param UWSGI_SCRIPT project.wsgi; #wsgi.py所在的目录名+.wsgi
uwsgi_param UWSGI_CHDIR /root/project/; #项目路径
}
location /static/ {
alias /root/project/static/; #静态资源路径
}
}
}
7.一些报错问题解决办法
(1)ImportError: libXrender.so.1: cannot open shared object file: No such file or directory
yum install libXrender.x86_64
(2)ImportError: libXext.so.6: cannot open shared object file: No such file or directory
yum install libXext libSM libXrender
(3)uwsgi: error while loading shared libraries: libicui18n.so.58: cannot open shared object file: No such file or directory
ln -s /root/anaconda3/lib/libicui18n.so.58 /lib64/libicui18n.so.58
ln -s /root/anaconda3/lib/libicuuc.so.58 /lib64/libicuuc.so.58
ln -s /root/anaconda3/lib/libicudata.so.58 /lib64/libicudata.so.58
(4)uwsgi: /lib64/./libstdc++.so.6: version CXXABI_1.3.8' not found (required by /lib64/libicui18n.so.58) uwsgi: /lib64/./libstdc++.so.6: version
CXXABI_1.3.9’ not found (required by /lib64/libicui18n.so.58)
uwsgi: /lib64/./libstdc++.so.6: version CXXABI_1.3.8' not found (required by /lib64/libicuuc.so.58) uwsgi: /lib64/./libstdc++.so.6: version
CXXABI_1.3.9’ not found (required by /lib64/libicuuc.so.58)
cd /root/anaconda3/lib
cp libstdc++.so.6.0.26 /lib64/
rm -rf libstdc++.so.6
ln -s libstdc++.so.6.0.26 libstdc++.so.6
ldconfig
(5)ImportError: /lib64/liblzma.so.5: version `XZ_5.2’ not found (required by /root/anaconda3/lib/python3.7/site-packages/rdkit/Chem/…/…/…/…/libboost_iostreams.so.1.73.0)
cd /lib64
rm -rf liblzma.so.5
ln -s /root/anaconda3/lib/liblzma.so.5.2.5 /lib64/liblzma.so.5
(6)probably another instance of uWSGI is running on the same address (127.0.0.1:8997).
fuser -k 8997/tcp
(7)ImportError: /lib64/libz.so.1: version `ZLIB_1.2.9’ not found (required by /root/anaconda3/lib/python3.7/site-packages/rdkit/Chem/…/…/…/…/././libpng16.so.16)
tar -xvf zlib-1.2.9.tar.gz
cd zlib-1.2.9
./configure; make; make install
cd /lib64
rm -rf libz.so.1
ln -s /usr/local/lib/libz.so.1.2.9 /lib64/libz.so.1