软件版本:
Centos7
|Python3.6
|Django2.2
操作:在root用户操作完成;
最后更新时间:2021-02-03
1. 更新系统软件包
执行命令:
yum update -y
2. 安装软件包和可能使用的依赖
2.1 执行命令:
yum -y groupinstall "Development tools"
2.2 执行命令:
yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel postgresql-devel
输入:y
3. 安装Anaconda
3.1 把Anaconda文件下载到服务器tmp目录下
wget https://repo.anaconda.com/archive/Anaconda3-2020.11-Linux-x86_64.sh
3.2 安装
运行命令
bash Anaconda3-2019.03-Linux-x86_64.sh
一直回车
输入yes,然后再回车
这样就安装完了。
另外:
For changes to task effect, close and re-open your current shell.
必须关掉窗口,重新打开一次,Anaconda才能生效!
4. 创建Python3.6环境
执行命令:
conda create --name python36 python=3.6
键入:y
这个时候,我们就创建好了!
运行下面这个命令就可以进入环境了:
conda activate xinfang_003
进入环境之后,安装uwsgi
4.1. 运行命令:
pip install uwsgi
4.2 给uwsgi建立软链接
ln -s /usr/local/python3/bin/uwsgi /usr/bin/uwsgi
5. 安装 数据库
6. 上传项目文件
6.1 上传之前的准备工作
-
收集静态文件
虚拟环境下继续运行python manage.py collectstatic
命令收集静态文件到static
目录下。 -
准备第三方依赖
项目还会依赖一些第三方 Python 库,为了方便在服务器上一次性安装,我们将全部依赖写入一个叫requirements.txt
的文本文件中。激活本地的虚拟环境(如果你使用了虚拟环境的话),并进入项目的根目录,运行pip freeze > requirements.txt
命令。
6.2 上传项目代码
在根目录
下建立一个www文件夹,主要用于存放网站文件的*(个人习惯,其它人可根据自己的实际情况处理)*
执行命令:
mkdir -p /www
cd /www
然后把项目文件上传到这个www文件夹中。
7. Django正常运行之后 ,就开始配置uwsgi
7.1 执行命令,切换到上传的项目文件夹下
cd /www/mywebsite
7.2 d 项目根目录下创建 mysite.xml
文件
执行命令:
vim mysite.xml
输入以下内容:
<uwsgi>
<socket>127.0.0.1:8997</socket><!-- 内部端口,自定义 -->
<chdir>/www/mysite/</chdir><!-- 项目路径 -->
<module>mysite.wsgi</module>
<processes>4</processes> <!-- 进程数 -->
<daemonize>uwsgi.log</daemonize><!-- 日志文件 -->
</uwsgi>
7.3 按Esc
键,输入 :wq
保存退出
8. 安装nginx和配置nginx.conf文件
8.1 执行命令:
cd /home # 进入home目录
8.2 执行命令:
下载NGINX压缩包:
wget http://nginx.org/download/nginx-1.13.7.tar.gz
如果报错:
bash: wget: command not found
那么运行:yum install wget
8.3 解压NGINX,执行命令:
tar -zxvf nginx-1.13.7.tar.gz
8.4 依次执行以下命令:
8.4.1. 执行命令
cd nginx-1.13.7 # 进入nginx-1.13.7文件夹
8.4.2. 执行命令:
./configure
> 如果报错,参考 <u>nginx 安装报错:./configure: error: the HTTP rewrite module requires the PCRE library.</u>
8.4.3. 执行命令:
make
8.4.4. 执行命令:
make install
注意: nginx一般默认安装好的路径为/usr/local/nginx
8.5 配置NGINX
- 执行命令:
vi /usr/local/nginx/conf/nginx.conf # 打开nginx.conf文件
- 在server里编辑以下内容:
http {
...省略...
# gzip on;
server {
listen 80;
server_name localhost;
#charset koi8-r;
charset utf-8;
#access_log logs/host.access.log main;
location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:8997;
uwsgi_param UWSGI_SCRIPT xinfang.wsgi;
uwsgi_param UWSGI_CHDIR /www/003_xinfang_pro;
}
location /static/ {
alias /www/003_xinfang_pro/static/; #静态文件目录
}
#error_page 404 /404.html
...省略...
}
}
8.6 进入 /usr/local/nginx/sbin/ 目录
执行命令:
cd /usr/local/nginx/sbin/
./nginx -t
如果成功了,执行命令:
./nginx
注意:终端没有任何提示就证明nginx启动成功。可以使用你的服务器地址查看,成功之后就会看到一个nginx欢迎页面。
9. 访问项目的页面
- 执行命令:
cd /www/mysite # 进入Django项目目录
- 执行命令:
uwsgi -x mysite.xml
如果报错:
uwsgi: invalid option -- 'x'
:
-
原因:
centos
下,在没有安装libxml2
时,pip
安装的uwsgi
无法支持xml
格式的配置文件。 -
解决:
- 下载
libxml2
:yum install libxml*
- 卸载
uwsgi
:pip uninstall uwsgi
- 删除pip缓存编译文件:
rm -rf ~/.cache/pip
- 重装
uwsgi
:pip install uwsgi
- 下载
- 如果没有报错,则继续执行命令:
cd /usr/local/nginx/sbin/ # 进入目录
./nginx -s reload # 重启nginx
- 然后在浏览器里输入IP就OK了!