CentOS7下安装python3
# 1、安装pyhton3.7 的依赖包
yum -y groupinstall "Development tools"
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel libffi-devel
# 2、下载python3.7的“源码”:
wget https://www.python.org/ftp/python/3.7.0/Python-3.7.0.tar.xz
# 3、解压并编译安装:
tar -xJvf Python-3.7.0.tar.xz
# 4、用cd命令进入解压出来的Python文件夹
cd Python-3.7.0
# 5、用./方法执行configure,并指定安装到usr目录下
./configure --prefix=/usr/local/python3 --enable-shared
# 6、开始编译安装
make && make install
# 7、配置环境变量, 创建软链接
ln -s /usr/local/python3/bin/python3 /usr/bin/python3 # 创建python3的软链接
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3 # 创建pip的软链接
# 8、将编译目录下的libpython3.7m.so.1.0文件复制到
cp /root/Python-3.7.0/libpython3.7m.so.1.0 /usr/lib64/libpython3.7m.so.1.0
CentOS7下安装MySQL
# 1、下载mysql的repo源
wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
# 2、安装mysql-community-release-el7-5.noarch.rpm包
rpm -ivh mysql-community-release-el7-5.noarch.rpm
# 3、安装mysql
yum install mysql-server
# 4、授权用户可以使用mysql
chown -R root:root /var/lib/mysql
# 5、重启服务
service mysqld restart
# 6、接下来登录重置密码:
mysql -u root # 进入mysql
# 下面为mysql命令
use mysql;
update user set password=password('root') where user='密码';
grant all privileges on *.* to 'root'@'%' identified by '密码'; #设置远程登陆密码
flush privileges; #刷新当前配置 注:如果不管用,重启虚拟机ctrl+c,退出myql
# 7、开放3306端口:
# 设置 iptables service
yum -y install iptables-services
# 如果要修改防火墙配置,如增加防火墙端口3306
vi /etc/sysconfig/iptables
# 增加规则
-A INPUT -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT #保存退出后
# 8、配置防火墙:
systemctl restart iptables.service # 重启防火墙使配置生效
systemctl enable iptables.service # 设置防火墙开机启动
systemctl stop iptables # 之前有遇到不能连接阿里云服务器上数据库的问题,就是利用这个解决的
CentOS7安装虚拟环境
# 安装虚拟环境
pip3 install virtualenv
# 创建软链接
ln -s /usr/local/python3/bin/virtualenv /usr/bin/virtualenv
创建目录
# 创建报错虚拟环境目录 名字是任意的
mkdir -p /data/env
# 个人网站发布文件夹 .名字都是任意的!
mkdir -p /data/wwwroot
创建、进入虚拟环境
# 进入env目录
cd /data/env
# 创建虚拟环境
virtualenv --python=/usr/bin/python3 py3_django2
# 激活虚拟环境
cd /data/env/py3_django2/bin
source activate # 退出: deactivate
# 安装django、uwsgi等.
pip3 install django==2.1.8
pip3 install uwsgi # django项目发布相关
# 退出虚拟环境
cd /data/env/py3_django2/bin
deactivate
为uwsgi创建软链接
# 给uwsgi建立软链接,方便使用
ln -s /usr/local/python3/bin/uwsgi /usr/bin/uwsgi
创建xml文件,保存名字与项目名同名,后缀为.xml
放在与message.py同一目录下
修改之后记得将注释及空格删掉,以避免后期出现不必要的麻烦
<?xml version="1.0" encoding="UTF-8"?>
<uwsgi>
<socket>127.0.0.1:8000</socket> <!-- 内部端口,自定义 -->
<chdir>/data/wwwroot/library/</chdir> <!-- 项目路径 -->
<module>library.wsgi</module> <!-- wsgi.py所在目录名-->
<processes>4</processes> <!-- 进程数 -->
<daemonize>uwsgi.log</daemonize> <!-- 日志文件 -->
</uwsgi>
本地项目上传到CentOS7服务器上
# 1、在windows系统下,用cmd进入项目的目录,生成项目包依赖列表(如果依赖包少的话,这一步忽略)
pip freeze > requirements.txt
# 2、settings文件设置
ALLOWED_HOSTS = ['*'] # 允许所有IP访问
CentOS7下安装相关依赖包
# CentOS7下安装相关依赖包(如果依赖包少的话,这一步忽略)
pip install -r requirements.txt
迁移静态文件
# 一、指定收集静态文件的目录,修改settings文件中静态文件路径
STATIC_ROOT = '/data/wwwroot/library/static'
# 二、收集所有静态文件到STATIC_ROOT指定的目录
python3 manage.py collectstatic
安装Nginx
修改之后将注释去掉,以避免后期出现不必要的麻烦
# 1、用yum下载Nginx
yum -y install nginx
"""
进入nginx,修改nginx.conf
"""
cd /etc/nginx
# 2、然后打开nginx.conf,把原来的内容删除,直接加入以下内容:
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
server {
listen 80;
server_name www.xxxxxxxx.cn; #改为自己的域名,没域名修改为127.0.0.1:80
charset utf-8;
location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:8000; #端口要和uwsgi里配置的一样
uwsgi_param UWSGI_SCRIPT library.wsgi; #wsgi.py所在的目录名+.wsgi
uwsgi_param UWSGI_CHDIR /data/wwwroot/library/; #项目路径
}
location /static/ {
alias /data/wwwroot/library/static/; #静态资源路径
}
}
}
"""
3、启动nginx
"""
cd /etc/nginx/
nginx
启动项目
# 进入环境
cd /data/env/py3_django2/bin
source activate
# 进入djnago项目
cd /data/wwwroot/library/
# uwsgi 解析项目中的配置文件
uwsgi -x library.xml
# 重启nginx
nginx -s reload
# 可以选择直接访问域名查看项目是否上传成功(失败一般是因为 library.xml 和 nginx.conf 里有汉字,或者配置问题,或者项目未完全上传)
# 服务器内部测试是否发布成功
curl 127.0.0.1:80 #就可以看到网站!
# 关闭防火墙,否则远程不能访问!
systemctl stop firewalld.service