linux部署笔记【薛定谔‘.s cat的笔记】


进入Linux系统后:

初始操作。

apt-get update 先更新

更新软件源
apt-get install software-properties-common

add-apt-repository ppa:deadsnakes/ppa

apt-get update 再更新一次

apt-get install python3.7 下载python
————————————————————————————————————————

建立软连接:

cd /usr/bin
rm python
ln -s python3.7 python
ln -s python3.7 python3

————————————————————————————————————————

安装pip

curl https://bootstrap.pypa.io/ez_setup.py -o - | python3.6 && python3.6 -m easy_install pip

注意python版本

乌邦图14,建议安装3.6(https://editor.csdn.net/md/?articleId=108323228)

这里最新插一句,乌邦图14就是垃圾。早换早享受,别被过时的服务器折磨。
————————————————————————————————————————

下载虚拟环境

pip install virtualenv

配置虚拟环境
选择文件夹,建立虚拟环境:
virtualenv -p /usr/bin/python3.7 mysite (# -p参数指定Python解释器程序路径)

开启
source mysite/bin/activate

退出命令
deactivate

安装git
apt-get install git
————————————————————————————————————————

克隆代码

git clone (github地址)

进入克隆下来的文件夹,下载依赖库
pip install -r requirements.txt

————————————————————————————————————————

安装mysql

(数据库配置完记得migrate和收集静态文件。python manage.py collectstatic

安装mysqlclient 报错:
ERROR: Command errored out with exit status 1: python setup.py egg_info Check the logs for full command output.

apt-get install libmysqlclient-dev

下载mysql(https://dev.mysql.com/downloads/)apt资料库找到下载链接
这里注意版本号
wget https://dev.mysql.com/get/mysql-apt-config_0.8.15-1_all.deb 下载

dpkg -i mysql-apt-config_0.8.15-1_all.deb 安装

apt-get install mysql-server下载server

卸载:Use ‘apt autoremove’ to remove them.

https://dev.mysql.com/downloads/mysql/(多版本选择)

但可能是乌邦图14版本的问题,最新版MySQL会报错。选择旧版可以操作:
dpkg -i mysql-apt-config_0.8.10-1_all.deb

dpkg -i mysql-apt-config_0.8.15-1_all.deb

然后对数据库进行操作。参考博客(http://yshblog.com/blog/194)
创建数据库,创建用户,赋予权限。
在这里插入图片描述
CREATE DATABASE 你的数据库名称 DEFAULT CHARSET=utf8 DEFAULT COLLATE utf8_unicode_ci;

CREATE USER ‘你的用户名’@‘localhost’ IDENTIFIED BY ‘你的密码’;

GRANT ALL PRIVILEGES ON 你的数据库名.* TO ‘你的用户名’@‘localhost’;

FLUSH PRIVILEGES;

数据库生成sql文件

mysql -u '用户名‘ -p 数据库名 > data.sql

退出到上一层目录,将文件传到服务器

scp data.sql root@192.168.1.1:/home/data.sql

传输命令 + 文件名 +服务器用户名及ip +传入后存放位置

scp -r 本地文件夹

登录数据库,导入数据文件

source data.sql;
————————————————————————————————————————
把settings.py已同样的方式传到指定位置。
scp settings.py root@192.168.1.1:/home/data.sql

迁移数据库,python manage.py migrate
如果报错:django:MySQL Strict Mode is not set for database connection ‘default’
添加:
‘OPTIONS’: {
“init_command”: “SET sql_mode=‘STRICT_TRANS_TABLES’”,
}
原博客(https://www.cnblogs.com/shengulong/p/10105248.html)在这里插入图片描述
————————————————————————————————————————

uwsgi Nginx部署

先下载呗。

sudo apt-get install Nginx

pip install uwsgi

pip install 和 apt-get install 区别。从pypi源下载和从Ubuntu源下载。

如果安装uwsgi报错,则需要安装一个依赖。

apt-get install libpython3.x-dev 选择对应3.x版本

教程地址(https://uwsgi.readthedocs.io/en/latest/tutorials/Django_and_nginx.html)

————————————————————————————————————————

测试一下:

nginx 测试
nginx -t 命令检测配置是否成功。
sudo service nginx start 命令执行后,就可以输入ip得到欢迎页面。即成功!
在这里插入图片描述
uwsgi测试
创建一个测试文件test.py。可以选择在home目录下。
在这里插入图片描述
uwsgi --http :8000 --wsgi-file test.py 测试命令 需要在服务器管理界面打开相应端口。8000或者8001/8011等等都可以。

如果测试报错,可以:

(现在发现,配置和命令不出错的话,应该是没问题的。出错了检查一下配置,或者重新卸载来一遍,大概率会修正这个错误。)

pip install uwsgi-plugin-python
然后测试命令中间加插件声明:
uwsgi --http-socket :8001 --plugin python --wsgi-file test.py
参考链接(https://blog.csdn.net/persistencequxi/article/details/80773676)

————————————————————————————————————————

配置文件

uwsgi配置:

选择目录存放uwsgi配置。例如:
home目录下新建:mysite_uwsgi文件夹 创建mysite.ini文件。

原up主配置中有uid和gid 分别= 1000/2000。这里删除掉这两条才不报错。如果部署的时候uwsgi出现问题,server error。调整这里的配置就好了。

可使用 nginx -t 进行配置检查。

  • Django文档:(https://docs.djangoproject.com/en/3.0/howto/deployment/wsgi/uwsgi/)
  • uwsgi文档:(https://uwsgi.readthedocs.io/en/latest/tutorials/Django_and_nginx.html)

在这里插入图片描述
Nginx配置
进入目录:cd /etc/nginx/sites-available/
默认有个default文件。新建一个xxx.conf文件进行配置。例如:
新建mysite.conf 。 涂抹的地方是ip。

在这里插入图片描述
————————————————————————————————————————

启动
启动uwsgi
uwsgi --chdir /home/show-/ --home /home/mysite --http :8011 --module mysite.wsgi:application

配置完的启动命令:uwsgi --ini /home/mysite_uwsgi/mysite.ini
————————————————————————————————————————
关闭uwsgi
ps -aux | grep uwsgi |awk ‘{print $2}’ |xargs kill -xxx

uwsgi --stop /home/mysite_uwsgi/master.pid
————————————————————————————————————————
查看进程(过滤器)
ps -aux |grep uwsgi
查看进程 过滤 找到uwsgi
只显示一个进程说明失败了,显示多个才是成功。

————————————————————————————————————————
重启服务
nginx -s reload
service nginx restart

uwsgi --reload /home/mysite_uwsgi/master.pid

————————————————————————————————————————
Nginx日志路径

/var/log/nginx
————————————————————————————————————————

注意!!!

不要忘了在控制台开启端口。测试用到哪个端口就开启哪个端口,80端口别忘了开!

数据库配置完记得migrate和收集静态文件。python manage.py collectstatic

settings安全问题可以参考(https://blog.csdn.net/m0_47812755/article/details/108450478)

————————————————————————————————————————
白嫖的Ubuntu14真lj

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值