本文共 3803 字,大约阅读时间需要 12 分钟。
sudo apt-get updatesudo apt-get upgrade
pip3 install virtualenv
git clone https://github.com/shibangCLL/my_blog.git
virtualenv --python=python3.7 env
source env/bin/activate
进入requirements.txt 目录
pip3 install -r requirements.txt
这里报错
Using cached mysqlclient-2.0.1.tar.gz (87 kB) ERROR: Command errored out with exit status 1: command: /home/site/like2learn.online/env/bin/python -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-ui4j2m4z/mysqlclient/setup.py'"'"'; __file__='"'"'/tmp/pip-install-ui4j2m4z/mysqlclient/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' egg_info --egg-base /tmp/pip-pip-egg-info-k1ul2tp7 cwd: /tmp/pip-install-ui4j2m4z/mysqlclient/ Complete output (12 lines): /bin/sh: 1: mysql_config: not found /bin/sh: 1: mariadb_config: not found /bin/sh: 1: mysql_config: not found Traceback (most recent call last): File "", line 1, in File "/tmp/pip-install-ui4j2m4z/mysqlclient/setup.py", line 15, in metadata, options = get_config() File "/tmp/pip-install-ui4j2m4z/mysqlclient/setup_posix.py", line 65, in get_config libs = mysql_config("libs") File "/tmp/pip-install-ui4j2m4z/mysqlclient/setup_posix.py", line 31, in mysql_config raise OSError("{} not found".format(_mysql_config_path)) OSError: mysql_config not found ----------------------------------------ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.
执行这个代码
sudo apt-get install python3.7-dev libmysqlclient-dev
python3 manage.py collectstatic
python3 manage.py makemigrationspython3 manage.py migrate
sudo service nginx start
cd /etc/nginx/sites-availabletouch like2learn.online
编写 like2learn.online
server { charset utf-8; listen 80; server_name like2learn.online; # 改成你的 IP location /static { alias /home/site/like2learn.online/my_blog/collected_static; } location /media { alias /home/site/like2learn.online/my_blog/media; } location / { include proxy_params; proxy_pass http://unix://home/site/like2learn.online/my_blog/like2learn.online.sock; }}
sudo ln -s /etc/nginx/sites-available/like2learn.online /etc/nginx/sites-enabled
pip3 install gunicorn
sudo service nginx reload
gunicorn --bind unix:/tmp/like2learn.online.socket blog.wsgi:application
还可以这样
gunicorn blog.wsgi:application -w 4 -b 0.0.0.0:8001
进入文件夹新建文件
cd /etc/systemd/systemtouch like2learn.online.service
编辑like2learn.online.service
[Unit]Description=like2learn.online serviceAfter=network.target[Service]User=rootGroup=rootWorkingDirectory=/home/site/like2learn.online/my_blogExecStart=/home/site/like2learn.online/env/bin/gunicorn --access-logfile - --workers 2 --bind unix:/home/site/like2learn.online/my_blog/like2learn.online.sock blog.wsgi:application[Install]WantedBy=multi-user.target
systemctl enable like2learn.online
$ systemctl status like2learn.online # 查看进程状态$ systemctl stop like2learn.online # 终止my_blog进程$ systemctl start like2learn.online # 启动my_blog进程$ systemctl restart like2learn.online # 重新启动my_blog进程
之后的项目维护中,如果更改了 gunicorn 的配置文件,那么需要依次执行下面两条语句去重启服务,如果只是修改了 Django 项目的内容,只需要单独执行第二条重启命令即可:
~$ sudo systemctl daemon-reload~$ sudo systemctl restart like2learn.online
如果修改了 Nginx 的配置文件,那么需要依次执行下面两条语句去重启服务:
~$ sudo nginx -t~$ sudo systemctl restart nginx
转载地址:http://rgdlf.baihongyu.com/