django美多商城
在global_config.py文件中, 根据实际情况将各参数进行修改.
在远程Linux或windows的MYSQL数据库中创建一个项目数据库:
create database meiduo charset=utf8;在manage.py同级目录下,执行:
python manage.py makemigrations
python manage.py migrate在others目录中,找到所有sql文件,在远程MYSQL服务器上,使用终端输入如下命令:
mysql -u账号 -p密码 meiduo < xxx.sql例如:mysql -uroot -p123456 meiduo < areas.sql
127.0.0.1 www.meiduo.site
把others/docker.zip解压到远程ubuntu上, 根据readme.txt中指令进行安装:
sudo apt-key add gpg
sudo dpkg -i docker-ce_17.03.2~ce-0~ubuntu-xenial_amd64.deb如果服务器重启过, docker的容器是不会自启动的, 可以通过
sudo docker container start [container_name或id]来启动
使用如下如今二选一安装fastdfs:
sudo docker image pull delron/fastdfs
sudo docker load -i 文件路径/fastdfs_docker.tarsudo docker run -dit --name tracker --network=host -v /var/fdfs/tracker:/var/fdfs delron/fastdfs tracker我们将 tracker 运行目录映射到宿主机的 /var/fdfs/tracker目录中。
sudo docker run -dti --name storage --network=host -e TRACKER_SERVER=192.168.2.162:22122 -v /var/fdfs/storage:/var/fdfs delron/fastdfs storageTRACKER_SERVER=Tracker的ip地址:22122(Tracker的ip地址不要使用127.0.0.1) 我们将 storage 运行目录映射到宿主机的 /var/fdfs/storage目录中。
将others/data.tar.gz文件拷贝到远程ubuntu上,解压到fdfs的storage目录下:
cd /var/fdfs/storage
sudo rm -rf data/
sudo tar -zxvf data.tar.gzsudo docker image pull delron/elasticsearch-ik:2.4.6-1.0将other/elasticsearc-2.4.6目录拷贝到home目录下, 修改/home/[用户名]/elasticsearc-2.4.6/config/elasticsearch.yml第54行,把network.host修改为ubuntu的真实ip地址:
network.host: 192.168.2.162我的远程ubuntu的ip地址是 192.168.2.162
最后使用docker运行Elasticsearch-ik
sudo docker run -dti --name=elasticsearch --network=host -v /home/[用户名]/elasticsearch-2.4.6/config:/usr/share/elasticsearch/config delron/elasticsearch-ik:2.4.6-1.0在manage.py同级目录下,执行:
celery -A celery_tasks.main worker -l infocelery默认是进程池方式, 进程数以当前机器的CPU核数为参考, 每个CPU开四个进程, 可通过
--concurrency或-c来指定进程数, 例如:
celery -A celery_tasks.main worker -l info --concurrency=20另外,Celery也支持将进程池方式改为协程方式(需要安装eventlet), 例如:
pip install eventlet
celery -A celery_tasks.main worker -l info -P eventlet -c=1000
在manage.py同级目录下,执行:
python manage.py runserver该项目的子应用模块存放在meiduo_project/meiduo_mall/meiduo_mall/apps目录下, dev,py中已经将该路径设置为导包路径, 所以django能在运行时正确识别到[子应用.模块]代码.
sys.path.insert(0, os.path.join(BASE_DIR, 'apps'))但是编码期间, PyCharm还是会对[子应用.模块]代码报错, 这是因为该项目是非标准的Django工程, 而PyCharm默认只认识标准Django路径, 所以PyCharm中会有多处红线报错.
解决方法: 将meiduo_mall(第一个) 和 apps标记为 Sources Root 即可.
操作步骤: 右击目录-> Make Directory as -> Sources Root