搭建 django 开发环境(CentOS 7)

一、安装python 和配置python虚拟环境

1、准备

yum install -y curl policycoreutils-python openssh-server openssl-devel wget lrzsz readline-devel libffi-devel zlib* gcc gcc+ gcc-c+

2、python

cd /usr/local/src/
wget https://www.python.org/ftp/python/3.6.8/Python-3.6.8.tgz
tar -xzvf Python-3.6.8.tgz
cd Python-3.6.8/
./configure --prefix="/usr/local/python36"
make
make install

ln -s /usr/local/python36/bin/python3 /usr/bin/python3
vim /etc/profile
  export PATH=$PATH:/usr/local/python36/bin
source /etc/profile

3、虚拟环境

pip3 install virtualenv
pip3 install virtualenvwrapper
  python3 -m pip install -U pip
  pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple pbr

source /etc/profile
mkvirtualenv django_project

二、mysql 安装

1、准备

(1)检查本地是否有安装 mysql,如果有就先卸载

rpm -qa | grep mysql
rpm - e --nodeps mysql…

(2)检查 mysql 用户组和用户是否存在,如果没有则创建,-r系统账户

cat /etc/group | grep mysql
cat /etc/passwd | grep mysql
groupadd mysql
useradd -r mysql -g mysql -s /bin/false
-s /bin/false 表示禁止用 mysql 用户身份登录系统

2、下载安装

yum -y install perl perl-devel autoconf libaio

cd /usr/local/src/
wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz

tar -xzvf mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz -C …

cd …
mv mysql-5.7.22-linux-glibc2.12-x86_64 mysql
chown -R mysql:mysql ./mysql/
chmod -R 755 mysql/

vim /etc/my.cnf
cd mysql/bin/
./mysqld --initialize --user=mysql --datadir=/usr/local/mysql/data --basedir==/usr/local/mysql/
cp …/support-files/mysql.server /etc/init.d/mysqld
vim /etc/my.cnf

3、启动 mysql 服务并设置开机自启

systemctl start mysqld
    yum install -y mariadb-server
    systemctl start mariadb.service
    systemctl enable mariadb.service

systemctl enable mysqld

4、登录修改密码

/usr/local/mysql/bin/mysql -u root -p
  alter user root@localhost identified by ‘*****’;
  show databases;
  use mysql;
  update user set host = ‘%’ where user = ‘root’;
  FLUSH PRIVILEGES;

5、配置环境变量

vim /etc/profile
# mysql env
export MYSQL_HOME=/usr/local/mysql
export PATH= P A T H : PATH: MYSQL_HOME/bin

source /etc/profile

扫描二维码关注公众号,回复: 9423278 查看本文章

三、nginx 安装

1、安装 pcre

yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel

cd /usr/local/src/
wget https://jaist.dl.sourceforge.net/project/pcre/pcre/8.42/pcre-8.42.tar.gz
tar -xzvf pcre-8.42.tar.gz

cd pcre-8.42/
./configure --prefix=/usr/local/pcre
make
make check
make install

/usr/local/pcre/bin/pcre-config --version

2、安装 nginx

cd /usr/local/src/
wget http://nginx.org/download/nginx-1.9.9.tar.gz
tar -xzvf nginx-1.9.9.tar.gz

cd nginx-1.9.9/
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-pcre=/usr/local/src/pcre-8.42
make && make install

/usr/local/nginx/sbin/nginx -v
ln -s /usr/local/nginx/sbin/nginx /usr/bin/nginx

3、说明

配置文件:/usr/local/nginx/conf/nginx.conf
默认的网页文件:/usr/local/nginx/html
检查配置文件正确性:/usr/local/nginx/sbin/nginx -t
启动:/usr/local/nginx/sbin/nginx
重载配置文件:/usr/local/nginx/sbin/nginx -s reload
重启:/usr/local/nginx/sbin/nginx -s reopen
停止:/usr/local/nginx/sbin/nginx -s stop
强制关闭:pkill nginx

4、开启 80 端口

firewall-cmd --list-all
firewall-cmd --query-port=80/tcp
firewall-cmd --permanent --add-port=80/tcp
systemctl restart firewalld.service

5、开机自启

vim /lib/systemd/system/nginx.service

[Unit]
Description=nginx
After=network.target

[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s quit
PrivateTmp=true

[Install]
WantedBy=multi-user.target

systemctl enable nginx.service

systemctl start nginx.service

文件字段说明:
[Unit] 服务说明
Description 描述服务
After 描述服务类别
[Service] 服务运行参数的设置
Type=forking 后台运行的形式
ExecStart 为服务的具体运行命令
ExecReload 重启命令
ExecStop 停止命令
PrivateTmp=true 表示给服务分配独立的临时空间

注意:[Service] 的启动、重启、停止命令全部要求使用绝对路径;
[install] 运行级别下服务安装的相关设置,可设置为多用户,即系统运行级别为3

四、新建 django 环境

1、创建 django 项目

mkdir /data/workspace
cd /data/workspace/
workon django_project

pip install django=2.1.4 或者 pip install --index https://mirrors.ustc.edu.cn/pypi/web/simple/ django==2.1.4
pip install pymysql

django-admin startproject dj_test
vim ./dj_test/settings.py

ALLOWED_HOSTS = [’*’]
import pymysql
pymysql.install_as_MySQLdb()
DATABASES = {
‘default’: {
‘ENGINE’: ‘django.db.backends.mysql’,
‘NAME’: ‘dj_test’,
‘HOST’: ‘127.0.0.1’,
‘USER’: ‘root’,
‘PASSWORD’: ‘hujinq123’,
‘PORT’: ‘3306’
}
}

2、开启 8000 端口

firewall-cmd --list-all
firewall-cmd --query-port=8000/tcp
firewall-cmd --permanent --add-port=8000/tcp
systemctl restart firewalld.service

五、安装配置 uwsgi

1、安装 uwsgi

pip3 install uwsgi

2、新建 uwsgi 配置文件

mkdir /etc/uwsgi.d

vim /etc/uwsgi.d/dj_test.ini

[uwsgi]
#plugins = python36u
master = true
protocol = uwsgi
socket = 127.0.0.1:8000
wsgi-file = /data/workspace/dj_test/dj_test/wsgi.py
home = /data/virtualenvs/django_project
chdir = /data/workspace/dj_test
buffer-size = 8192
enable-threads= true
close-on-exec = true

注意:dj_test.ini 的权限不能是root的,要么就搞一个 nobody,要么 就 uwsgi 用户;
普通启动:uwsgi --ini /etc/uwsgi.d/dj_test.ini

3、开机自启设置

vim /lib/systemd/system/uwsgi.service

[Unit]
Description=HTTP Interface Server
After=syslog.target

[Service]
KillSignal=SIGQUIT
ExecStart=/usr/local/python36/bin/uwsgi --ini /etc/uwsgi.d/dj_test.ini
Restart=always
Type=notify
NotifyAccess=all
StandardError=syslog

[Install]
WantedBy=multi-user.target

systemctl enable uwsgi.service

六、配置修改汇总

1、mysql 配置

在这里插入图片描述

2、nginx 配置

ln -s /usr/local/nginx/conf/nginx.conf /etc/nginx.conf
vim /etc/nginx.conf

在这里插入图片描述

3、uwsgi 配置

配置文件是新建的,可以建多个

vim /etc/uwsgi.d/dj_test.ini
在这里插入图片描述

发布了26 篇原创文章 · 获赞 4 · 访问量 736

猜你喜欢

转载自blog.csdn.net/qq_36072270/article/details/103497850