目录
1.将写好的web项目上传到远程仓库,gitee
2.购买云服务器,(阿里云ESC服务器)
3.创建实例
网址https://ecs-buy.aliyun.com/ecs#/custom/prepay/cn-hangzhou
对实例进行配置
3.1选择镜像,并选择版本
3.2配置容量
3.3设置密码
点击下单即可
回到控制台中等待启动即可
3.4服务器默认有私有IP需要给配置公网IP或者弹性IP
弹性IP配置步骤如下
点击最右方的管理
在弹出来的页面中点击绑定弹性IP
点击弹出来的窗口中的创建弹性公网IP
4.远程连接
通过xshell工具远程连接服务器
打开xshell输入ssh root@刚获取的弹性公网IP
随后接受,输入用户名root以及刚才的密码即可
连接之前要保证云服务器是开启状态
5.下载nginx
pip install nginx
在浏览器中输入弹性IP会出现下方样式即可
如果没有出现则需要去服务器中添加端口
点击管理旁边的更多点击网络安全组中的安全配置,再点击右边的配置规则,在弹出来的窗口中找到手动添加并点击,按照下方的图片进行输入并点击保存即可
重新去浏览器中输入弹性IP即可,后期添加别的端口也是一样的操作
6.配置服务器
6.1更新相关配置以及配置虚拟环境
sudo apt-get update
更新pip包
Pip3 install --upgrade pip
sudo pip3 install virtualenv
sudo pip3 install virtualenvwrapper
进行sudo pip3 install virtualenvwrappe这个可能会出现问题,错误如下
解决办法就是先下载pbr 执行pip install pbr
然后再执行sudo pip3 install virtualenvwrapper
6.2配置文件打开/.bashrc
vim ~/.bashrc
在末尾添加以下数据
export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
export WORKON_HOME=$HOME/.virtualenvs
source /usr/local/bin/virtualenvwrapper.sh
按下ESC键输入:wq!保存并退出
运行source ~/.bashrc
6.3创建虚拟环境
mkvirtualenv -p python3 虚拟环境名
进入虚拟环境
workon 虚拟环境名
6.4上传自己的项目并更改配置
进入/srv
创建一个文件夹用来存放自己的项目
例如 mkdir test
进入test下载git
sudo apt install git
创建一个本地仓库
git init
克隆第一步上传到码云的远程仓库
git remote add origin 地址
将远程仓库中的文件传到本地
git pull origin master
输入码云的手机号以及密码即可,如下图
将项目所需要的模块以及对应的版本一次性下载下来(前提项目中有require.txt文件)
pip install -r require.txt
需要将settings.py文件中的DEBUG = True ALLOWED_HOSTS = []改成
DEBUG = False
ALLOWED_HOSTS = ['*']
使用vim打开settings,py文件修改即可
按下ESC键,输入:wq!退出即可
使用python命令python manage.py runserver并运行
去浏览器中输入 弹性IP:8000 就可以看到自己的项目,如果端口冲突,在运行项目时指定端口即可
7.下载uwsgi
pip install uwsgi
在manage同级目录下创建一个文件命名为uwsgi.ini,后缀一定是ini
使用vim进行编辑
uwsgi.ini中需要写的东西,其他的参考uwsgi官网
[uwsgi]
# 项目的路径
chdir = /srv/test/app
# Flask的uwsgi文件
wsgi-file = app/wsgi.py
# 回调的app对象
callable = application
# Python虚拟环境的路径
home = /root/.virtualenvs/创建的虚拟环境的名字
http = :端口号,最好自己重新设一个,这个端口号要手动添加到安全组规则里面
保存后执行uwsgi --ini 自己新建的ini文件
浏览器中输入弹性IP跟上自己设置的端口号即可看到自己的项目,但是没有静态文件
解决办法
在settings.py文件中输入
import os
# 设置静态文件的根目录
STATIC_ROOT = os.path.join(BASE_DIR, 'staticfiles')
然后返回上级目录执行python manage.py collectstatic
编辑ini文件添加static-map=/static=staticfiles保存退出
刷新页面即可
8.下载nginx
sudo apt-get install nginx
修改配置文件/etc/nginx/sites-available/default文件
vim /etc/nginx/sites-available/default
将文件中的内容全部删除(最好提前复制一份)
将以下内容填进去,标红的一定要修改
upstream django {
server 127.0.0.1:8080;
}
server {
listen 80;
server_name xxx.xxx.xx.xx; # 服务器公网ip
charset utf-8;
client_max_body_size 75M;
location / {
uwsgi_pass 127.0.0.1:8080;
include /etc/nginx/uwsgi_params;
}
location /static {
alias /home/xxxxx/static; # 静态文件路径
}
location /media{
alias /home/xxxxx/media; # 静态文件路径
}
}
重启nginx
service nginx reload
启动服务器
uwsgi --ini uwsgi.ini