项目上线mysql怎么传_项目上线全程

1.买服务器,掏钱吧

2.连上服务器,22端口改一下,默认密码改复杂一点.其他的随意, 再adduser 一个个人账户, 没事别用root

给它加上sudo权限

usermod -a -G sudo wqk#再确认一下

groups wqk

切换到wqk

su wqk

3.安装虚拟环境,隔离项目

可以用pip或者apt安装,这里我们选择pip

a. 查看pip版本

查看pip版本: pip-V

查看pip3版本: pip3-V

b. 安装pip(如果存在则不需要安装)

安装pip3: apt install python3-pip

安装pip2: apt install python-pip

c. 更新pip

更新pip (如果pip版本高于9.0则不需要更新):

更新pip3: pip3 install--upgrade pip

更新pip: pip install--upgrade pip

注意: 更新后如出现以下错误(这是pip10.0.0版本的BUG):

Traceback (most recent call last):

File “/usr/bin/pip”, line 9, in

from pip importmain

解决方法:修改对应pip文件中的代码(pip和pip3类似)

例如更新pip时报错则需要修改/usr/bin/pip 文件中的代码,

使用: sudo vim/usr/bin/pip 打开pip文件

将:from pip importmainif __name__ == '__main__':

sys.exit(main())

改成:from pip import __main__

if __name__ == '__main__':

sys.exit(__main__._main())

d. pip命令

pip install xxx:安装xxx依赖包

pip list:查看所有依赖包

pip freeze:查看新安装的包

pip uninstall xxx :卸载xxx包1.3, virtualenv和virtualenvwrapper 的安装和使用

【请使用普通用户】

a. 安装虚拟环境

sudo apt update

sudo pip3 install virtualenv virtualenvwrapper

sudo pip install virtualenv virtualenvwrapper

sudo apt install virtualenv virtualenvwrapeer

mkvirtualenv env3-p /usr/bin/python3

安装后如果不能使用虚拟环境命令,则需要配置环境变量1, 进入家目录: cd ~

2, 使用vim打开.bashrc, 定位到最后:shift+g,并添加以下2行代码(注意修改自己Ubuntu的用户名)

export WORKON_HOME=/home/wqk/.virtualenvs

source/usr/local/bin/virtualenvwrapper.sh3, 在家目录创建.virtualenvs目录: mkdir .virtualenvs4, 加载修改后的设置,使之生效:source .bashrc

(如果找不到virtualenvwrapper.sh,

则将路径改成/usr/local/bin/virtualenvwrapper.sh

然后重试 )

b. 创建虚拟环境:

mkvirtualenv env

mkvirtualenv env2-p /usr/bin/python3 (指定python路径)

c. 退出虚拟环境

deactivate

d. 进入虚拟环境:

workon 虚拟环境名称

如果workon的时候报错 你还要将virtualenvwrapper.sh文件里的which python 升级为 which python3

并且插入如下代码:export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3export VIRTUALENVWRAPPER_VIRTUALENV=/usr/local/bin/virtualenv

4.虚拟环境里面安装库文件,  一般从开发环境里面pip -freeze > environment.txt直接拿出来  然后pip install -r environment.txt 进行安装

5.安装nginx,配置uwsgi,配置文件如下

nginx安装和卸载:

sudo apt-get install nginx

sudo apt-get remove nginx nginx-common #卸载删除除了配置文件以外的所有文件。

sudo apt-get purge nginx nginx-common #卸载所有东东,包括删除配置文件。

user www-data;

worker_processes auto;

pid/run/nginx.pid;

include/etc/nginx/modules-enabled/*.conf;

events {

worker_connections768;#multi_accept on;

}

http {##

#Basic Settings

##

sendfile on;

tcp_nopush on;

tcp_nodelay on;

keepalive_timeout65;

types_hash_max_size2048;#server_tokens off;

#server_names_hash_bucket_size 64;

#server_name_in_redirect off;

include/etc/nginx/mime.types;

default_type application/octet-stream;##

#SSL Settings

##

ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #Dropping SSLv3, ref: POODLE

ssl_prefer_server_ciphers on;##

#Logging Settings

##

access_log/var/log/nginx/access.log;

error_log/var/log/nginx/error.log;##

#Gzip Settings

##

gzip on;#gzip_vary on;

#gzip_proxied any;

#gzip_comp_level 6;

#gzip_buffers 16 8k;

#gzip_http_version 1.1;

#gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;

server{

listen80default_server;

server_name localhost;

location/static {

alias/var/www/MZMARKET/MZMARKET/static;

}

location/{

include/etc/nginx/uwsgi_params;

uwsgi_pass127.0.0.1:8888;

}

}##

#Virtual Host Configs

##

include/etc/nginx/conf.d/*.conf;#include /etc/nginx/sites-enabled/*;

}#mail {## See sample authentication script at:## http://wiki.nginx.org/ImapAuthenticateWithApachePhpScript# ## auth_http localhost/auth.php;## pop3_capabilities "TOP" "USER";## imap_capabilities "IMAP4rev1" "UIDPLUS";# #server {#listen localhost:110;#protocol pop3;#proxy on;#}# #server {#listen localhost:143;#protocol imap;#proxy on;#}#}

uwsgi需要pip3 install进行安装

[uwsgi]

# 使用nginx连接时 使用

socket=0.0.0.0:8888# 直接作为web服务器使用

# http=0.0.0.0:8888# 配置工程目录

chdir=/var/www/OnlinePay

# 配置项目的wsgi目录。相对于工程目录

wsgi-file=OnlinePay/wsgi.py

#配置进程,线程信息

processes=4threads=10enable-threads=True

master=True

pidfile=uwsgi.pid

daemonize=uwsgi.log

supervisord.conf

;[include]

;files= relative/directory/*.ini

[program:celery.worker]

;指定运行目录

directory=/var/www/OnlinePay

;运行目录下执行命令

command=celery -A OnlinePay worker --loglevel=info --concurrency=1

额外的apt install知识

apt-get install一键安装软件包,与源码安装不同的是,这个指令会自动检测并安装依赖,而且用apt-get安装的包都是成熟的软件包,基本不存在安装包有严重bug或者文件缺失的情况。sudo apt-get install -y

这里主要将的就是-y选项,添加这个选项就相当于不需要重复地确认安装sudo apt-get install -q

即-quiet,静默安装,当然也不是完全静默,会将低等级的log信息屏蔽。sudo apt-get remove

既然有安装就会有卸载,remove指令就是卸载,值得注意的是,remove仅仅卸载软件,但是并不卸载配置文件sudo apt-get purge

卸载指令,同时卸载相应的配置文件sudo apt-get autoremove

这个就别用了,删除依赖库删的太多了

5. 我们装下依赖库

6.装下mysql

sudo apt install mysql-server

但是装mysql的时候经常遇到密码问题,给的默认密码也不能用,有时候root号都没有

debian9默认安装的mysql密码重置语句为:

UPDATE user SET Password = PASSWORD('12345678') WHERE user = 'root';

UPDATE user SET plugin = 'mysql_native_password' WHERE user = 'root';

+-----------+------+-------------------------------------------+-----------------------+

| host | user | password | plugin |

+-----------+------+-------------------------------------------+-----------------------+

| localhost | root | *8BBA3B98FB48ECDB1980683A0D95F3343CAA2A6B | mysql_native_password |

+-----------+------+-------------------------------------------+-----------------------+

service mysql restart

或者:

/etc/init.d/mysqld restart

7.把项目扔进去

8. uwsgi --ini uwsgi.ini开启

--reload uwsgi.pid 重启

--stop uwsgi.pid 关闭

9. 重启 nginx -s reload

-s stop关闭

10.测试项目

11. 其他需要配置celery启动和 supervisor管理celery 单独写

12. admin 样式丢失的问题:

由于之前已建立了static目录,并保存了其他页面的依赖的静态文件,所有执行python manage.py collectstatic命令后,命令会发现static目录下已经存在了部分静态文件,因此命令行会报错。

所以,将步骤改进为:1、在django项目中建立个temp的目录(临时目录,待会儿删除)2、在settings里把STATIC_ROOT设置为你刚才建立的temp目录

比如:STATIC_ROOT= 'D:\wamp\www\djangoprojects\chatbot\temp'

3、然后使用python manage.py collectstatic,这样django会自动把全部样式复制到temp目录4、打开temp,将admin复制粘贴至原有的而项目static目录下,并删除temp文件夹,STATIC_ROOT改为原先的项目static目录

13.安全问题

修改ssh端口

修改/etc/ssh/sshd_config,在Port 22下添加你的端口

Port22Port YOUR_PORT

修改/etc/ssh/ssh_config,在Host *下添加你的端口

Host*Port22Port 你的端口#ForwardAgent no

...

重启ssh

service ssh restart

查看状态

netstat-an | grep "LISTEN"

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值