# yum update
二 安装gcc lrzsz软件
# yum install gcc 用来编译python3.6源码 # yum install lrzsz 用来上传文件
三 安装mysql5.6
3.1 下载mysql的repo源
# wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
3.2 安装mysql-community-release-el7-5.noarch.rpm包
# sudo rpm -ivh mysql-community-release-el7-5.noarch.rpm
3.3 安装mysql
# sudo yum install mysql-server
3.4 设置 /var/lib/mysql的访问权限问题
# chown root /var/lib/mysql/
# service mysqld restart
3.5 登录重置密码:
# mysql -u root -p (回车 无密码登录) # mysql > use mysql; # mysql > update user set password=password('123456') where user='root'; # mysql > exit;
# service mysqld restart
3.6 设置远程访问
mysql>use mysql; mysql>GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "root";
3.7 设置utf-8字符集
[client] default-character-set=utf8 [mysqld] character-set-server=utf8 collation-server=utf8_general_ci
重启mysql服务后才生效
service mysqld restart
查看字符集
show variables like 'character%';
四 安装python3.6
4.1 安装依赖环境
# yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel
4.2 下载 python3
# mkdir -p /usr/local/Python3
# wget https://www.python.org/ftp/python/3.6.1/Python-3.6.1.tgz
4.3 安装 python3
# tar -zxvf Python-3.6.1.tgz # cd Python-3.6.5 # ./configure --prefix=/usr/local/Python3 # make # make install
4.4 创建软连接
# ln -s /usr/local/Python3/bin/python3 /usr/bin/python3
4.5 添加环境变量
# vim ~/.bash_profile
PATH=$PATH:$HOME/bin:/usr/local/Python3/bin
# source ~/.bash_profile
4.6 检查
# python3 -V # pip3 -V
4.7 升级pip3
# pip3 install —-upgrade pip
五 安装virtualenv虚拟环境
5.1 安装virtualenv
# pip3 install virtualenv
5.2 创建虚拟环境目录
# mkdir -p /data # mkdir -p /data/pyenv # virtualenv -p /usr/local/Python3/bin/python3 /data/pyenv/
5.3 创建软链接
# ln -s /data/pyenv/bin/activate /usr/bin/activate
5.4 启动虚拟环境
# source activate
5.5 退出虚拟环境
# deactivate
六 运行django项目
测试django项目是否能正常运行
# mkdir -p /data/wwwroot 用来存放项目文件 # pip3 install Django 3 pip3 install pymysql
# python3 manage.py makemigrations # python3 manage.py migrate # python3 mange.py runserver 0.0.0.0:80
七 安装部署uwsgi
7.1 安装uwsgi
# pip3 install uwsgi
# uwsgi --http 0.0.0.0:80 --file maci_proj/wsgi.py --static-map=/static=static
7.2 配置文件启动
# cd /data/wwwroot/ # mkdir maci 创建项目目录 # cd maci # mkdir script # cd script # vim uwsgi.ini
编写启动文件:
[uwsgi] # 项目目录 chdir=/data/wwwroot/maci/maci_proj # 指定项目的application module=军民.wsgi:application # 指定sock的文件路径 socket=/data/wwwroot/maci/script/uwsgi.sock # 进程个数 workers=5 pidfile=/data/wwwroot/maci/script/uwsgi.pid # 指定IP端口 http=172.18.43.213:8000 #http=47.106.128.221:80 # 指定静态文件 #static-map=/static=/data/wwwroot/smcic/smcic_pro/static static-map=/static=/data/wwwroot/maci/maci_proj/static # 启动uwsgi的用户名和用户组 uid=root gid=root # 启用主进程 master=true # 自动移除unix Socket和pid文件当服务停止的时候 vacuum=true # 序列化接受的内容,如果可能的话 thunder-lock=true # 启用线程 enable-threads=true # 设置自中断时间 harakiri=30 # 设置缓冲 post-buffering=4096 # 设置日志目录 daemonize=/data/wwwroot/maci/script/uwsgi.log
7.3 常用命令
启动:uwsgi —ini 启动文件名.ini 停止:uwsgi —stop 启动文件名.pid
八 安装部署nginx
8.1 配置yum源
# vim /etc/yum.repos.d/nginx.repo
[nginx] name=nginx repo # 下面这行centos根据你自己的操作系统修改 比如:OS/rehel # 7是你自己Linux系统的版本,可以通过URL查看路径是否正确 baseurl=http://nginx.org/packages/centos/7/$basearch/ gpgcheck=0 enable=1
8.2 安装nginx
# yum -y install nginx
# nginx
8.3 配置nginx,添加自己项目的配置文件
# cd /etc/nginx/conf.d/
# vim xxx.conf
server { # 这个server标识我要配置了 listen 80; # 我要监听那个端口 server_name 47.106.128.221 ; # 你访问的路径前面的url名称 access_log /var/log/nginx/access.log main; # Nginx日志配置 charset utf-8; # Nginx编码 gzip_types text/plain application/x-javascript text/css text/javascript application/x-httpd-php application/json text/json image/jpeg image/gif image/png application/octet-stream; # 支持压缩的类型 error_page 404 /404.html; # 错误页面 error_page 500 502 503 504 /50x.html; # 错误页面 # 指定项目路径uwsgi location / { # 这个location就和咱们Django的url(r'^admin/', admin.site.urls), include uwsgi_params; # 导入一个Nginx模块他是用来和uWSGI进行通讯的 uwsgi_connect_timeout 30; # 设置连接uWSGI超时时间 uwsgi_pass unix:/data/wwwroot/maci/script/uwsgi.sock; # 指定uwsgi的sock>文件所有动态请求就会直接丢给他 } # 指定静态文件路径 location /static/ { alias /data/wwwroot/maci/maci_proj/static/; #index index.html index.htm; } }
8.4 常用命令
# nginx 启动 # systemctl start nginx.service 启动 # systemctl enable nginx.service 开机自启动 # nginx -s reload 更新配置文件
使用链接
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:centos7.4+mysql5.6+virtualenv+python3.6+nginx+uwsgi+django生产环境搭建 - Python技术站