我用的是阿里云,设置好端口和root密码,我们这里开放了8000端口。
登录到我们的服务器上,可以使用命令行cmd、cmder、powershell。推荐使用cmder。
ssh root@IP(服务器的公网IP)
这里我们使用源码安装。将目录切换到/usr/local。
yum install libffi-devel -y
yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make
cd /usr/local
wget https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tgz
tar -zxvf Python-3.7.0.tgz
cd Python-3.7.0
./configure --prefix=/usr/local/python3
make && make install
ln -s /usr/local/bin/python3 /usr/bin/python3
ln -s /usr/local/bin/pip3 /usr/bin/pip3
至此,python3和pip安装完毕
vi /etc/yum.repos.d/nginx.repo
#添加以下内容
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/mainline/centos/7/x86_64/
gpgcheck=0
enabled=1
执行
yum install nginx
试试在浏览器中访问一下阿里云的公网地址,如果出现
说明安装成功,如果没有出现,可以试试以下两条命令
setenforce 0
service firewalld stop
wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
rpm -ivh mysql-community-release-el7-5.noarch.rpm
sudo yum install mysql-server
之后进入mysql设置好root用户密码即可,如果出现问题,可以去百度。
设置好密码之后要新建我们用到的数据库,建库命令
create database 数据库名称 default charset utf8 collate utf8_general_ci
yum install -y mysql-devel python-devel
TIPS:如果不安装的话,安装mysqlclient会出现问题。
安装依赖包有两种方法,一种是一个一个包使用pip安装。
我用的是第二种
首先在自己的电脑上执行
pip freeze > requirement.txt
并且将这个文件放到项目根目录下。
这样我们的库及版本号就打包好了,我的是这个样子的:
Django==2.0.3
django-ckeditor==5.7.1
django-js-asset==1.2.2
mysqlclient==1.4.2.post1
Pillow==6.1.0
pytz==2019.1
uWSGI==2.0.18
我的项目名称叫mysite。
将我们的项目文件打包成mysite.zip文件。在项目zip文件的目录(全英文)下打开cmder,使用如下命令
scp mysite.zip root@IP:/root
这样我们就将我们的项目上传到了服务器上的root目录下
使用unzip命令解压 unzip mysite.zip
进入项目目录
使用以下命令安装依赖包
pip3 install -r requirement.txt
#配置uwsgi
ln -s /usr/local/bin/uwsgi /usr/bin/uwsgi
修改setting.py
DEBUG = False
ALLOWED_HOSTS = ['*']
同时修改mysql数据库的密码为我们刚才设定的密码,如果有设定STATIC_URL,请先注释掉,等执行完migrate命令完之后再取消注释。
回到项目根目录,执行
python3 manage.py migrate
python3 manage,py createsuperuser
然后在setting.py中加入
STATIC_ROOT = os.path.join(BASE_DIR, 'static')
在项目根目录下执行
python3 manage.py collectstatic
至此我们的项目修改完成。
在项目根目录下创建django_uwsgi.ini文件,内容如下
[uwsgi]
socket= 127.0.0.1:8080
chdir=/root/website/mysite#这个是项目mysite的根目录,别的地方都不用修改
module=company_site.wsgi:application
master=true
processes=4
vacuum=ture
编辑完成就可以了。
首先备份
cp //etc/nginx/conf.d/default.conf /etc/nginx/conf.d/default.conf.bak
vi /etc/nginx/conf.d/default.conf
在最下面添加:
server {
listen 8000;
server_name 127.0.0.1;
location / {
include /etc/nginx/uwsgi_params;
uwsgi_pass 127.0.0.1:8080;
}
location /static{
alias /root/website/mysite/static/;#自己项目的静态文件路径
}
}
只修改第一行,修改为(因为我们的项目放在root目录下,所以我们如果不修改成root,静态文件是没有权限访问的)
user root;
使用以下命令检查:
nginx -t
service nginx restart
最后进入我们的项目根目录下,执行以下命令即可
uwsgi --ini django_uwsgi.ini
有什么问题多百度,一般都可以找到,如果找不到就按照步骤看自己缺了哪几步。有问题可以私信我。