一、设置python3环境
1.1下载安装包
cd /opt/
#opt目录下下载
这种方式特别慢,推荐用xftp传文件
wget https://www.python.org/ftp/python/3.7.7/Python-3.7.7.tgz
1.2安装
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make
tar -xzvf /opt/Python-3.7.7.tgz -C /usr/local/src/#src是存放源码的目录,解压到src目录
#tar -xzvf Python-3.7.7.tgz -C /usr/local/src/#若已经在opt目录下,
cd /usr/local/src/Python-3.7.7
#3.7要安装:yum -y install libffi-devel tk-devel
./configure --prefix=/usr/local/python3
make && make install
1.3添加环境变量
#echo $PATH#查看环境变量
cd /etc/profile.d/
vi python3.sh
export PATH="$PATH:/usr/local/python3/bin"#写入文件
esc,:wq
source ../profile#重载文件
echo $PATH#查看当前环境变量是否添加
#成功
[root@localhost ~]# python3
Python 3.7.7 (default, May 28 2020, 14:33:29)
[GCC 4.8.5 20150623 (Red Hat 4.8.5-39)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
1.4安装requirements包和uWSGI
[root@localhost wwwroot]# pip3 list
Package Version
------------------ -------
appdirs 1.4.4
distlib 0.3.0
Django 2.2
filelock 3.0.12
importlib-metadata 1.6.0
mysqlclient 1.4.6
Pillow 7.1.2
pip 20.1.1
PyMySQL 0.9.3
pytz 2020.1
setuptools 41.2.0
sqlparse 0.3.1
supervisor 4.2.0
uWSGI 2.0.18
使用python3.7+django2.2+pymysql时,后面会碰到的问题:django运行core错误
mysqlclient 1.3.13 or newer is required; you have 0.9.2
修改\Python37\Lib\site-packages\django\db\backends\mysql下的base.py和operations.py文件
二、设置mysql环境
###mysql80修改密码命令
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
三、项目
3.1项目目录
mysite为项目
/data/wwwroot/mysite
/data/wwwroot/mysite/manage.py
3.2 检查项目是否能运行
mysite目录下
python3 manage.py runserver 127.0.0.1:8001
查看防火墙状态
1.查看防火墙状态:
firewall-cmd --state
2.启动防火墙
systemctl start firewalld
3.关闭防火墙
systemctl stop firewalld
4.检查防火墙开放的端口
firewall-cmd --permanent --zone=public --list-ports
5.开放一个新的端口
firewall-cmd --zone=public --add-port=8080/tcp --permanent
6.重启防火墙
firewall-cmd --reload
7.验证新增加端口是否生效
firewall-cmd --zone=public --query-port=8080/tcp
8.防火墙开机自启动
systemctl enable firewalld.service
9.防火墙取消某一开放端口
firewall-cmd --zone=public --remove-port=9200/tcp --permanent
3.3 static文件整理(解决后台admin样式丢失问题)
cd /data/wwwroot/mysite
python3 manage.py collectstatic
四、uwsgi
安装
pip3 install uwsgi##之前已经安装过
软连接
ln -s /usr/local/python3/bin/uwsgi /usr/bin/uwsgi
切换到项目目录下
cd /data/wwwroot/mysite
执行
vim mysite.xml
###输入
<uwsgi>
<socket>127.0.0.1:8001</socket># 内部端口
<chdir>/data/wwwroot/mysite/</chdir>#项目路径
<module>mysite.wsgi</module>
<processes>4</processes> #进程数
<daemonize>uwsgi.log</daemonize>#日志文件
</uwsgi>
查看运行的uwsgi
ps -ef | grep uwsgi
kill进程
kill -9 3539
重新启动uwsgi,在项目根目录下,mysite.xml所在位置
uwsgi mysite.xml
五、nginx
5.1下载解压安装
yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel
###安装依赖,不知道必不必要
#安装pcre
wget http://downloads.sourceforge.net/project/pcre/pcre/8.35/pcre-8.37.tar.gz
tar zxvf pcre-8.37.tar.gz
#到pcre-8.37目录下执行以下
./configure
make && make install
#安装zlib
yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel
yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel
#安装nginx
cd /usr/local/src
wget http://nginx.org/download/nginx-1.18.0.tar.gz
tar -xzvf nginx-1.18.0.tar.gz
#进入解压缩目录
cd nginx-1.18.0
./configure
make
make install
5.2 测试
测试下启动nginx,访问站点
[root@bogon conf]# /usr/local/webserver/nginx/sbin/nginx
从本地访问服务器ip地址
5.3 设置 nginx.conf
[root@localhost sbin]# cd /usr/local/nginx/conf
[root@localhost conf]# vim nginx.conf
修改sever
server {
listen 80;
server_name localhost;
charset utf-8;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:8001;#同 .xml
uwsgi_param UWSGI_SCRIPT mysite.wsgi;
uwsgi_param UWSGI_CHDIR /data/wwwroot/mysite;
#root html;
#index index.html index.htm;
}
location /static/{
alias /data/wwwroot/mysite/static/;##多个static是all_static_files,static文件整理后得到的all_static_files
}
.....
修改完nginx.conf后,重新启动
cd /usr/local/nginx/sbin/
./nginx -s reload