更新系统依赖包
yum update -y
安装依赖包
yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-develgcc
安装python3解释器
下载python3.7安装包
wget https://www.python.org/ftp/python/3.8.5/Python-3.8.5.tgz
解压安装包
tar -zxvf Python-3.8.5.tgz
创建python解释器安装位置
sudo mkdir /usr/local/python3
cd 到解压包中编译python解释器
./configure --prefix=/usr/local/python3 --enable optimizations
安装解释器
make && make install
这里可能会报 ModuleNotFoundError: module named "_ctypes" make : *** [install] 错误1
缺少安装依赖包解决办法:yum -y install libffi-devel
重新 make && make install
创建软链接
ln -s /usr/local/python3/bin/python3.7 /usr/bin/python3
ln -s /usr/local/python3/bin/pip3 /usr/bin/pip
测试
python3 -V
pip -V
image.png
Mysql配置安装
下载
wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
安装mysql-community-release-el7-5.noarch.rpm包
sudo rpm -ivh mysql-community-release-el7-5.noarch.rpm
安装mysql
sudo yum install mysql-server
重置密码
先修改权限问题:
sudo chown -R openscanner:openscanner /var/lib/mysql
重启服务:
service mysqld restart
重置登录密码
mysql -u root
mysql > UPDATE mysql.user SET Password=PASSWORD('123456') WHERE User= 'root';
FLUSH PRIVILEGES;
环境配置
方法一
pip install pipenv
切换到项目所在目录:
pipenv shell #会生成一个项目同名的依赖环境
方法二
pip install virtualenv
pip3 install virtualenvwrapper
find / -name 'virtualenvwrapper.sh' #找到wrapper安装位置
mkdir /home/ .virtualenvs #创建virtualenvwrapper存放位置
编辑 . bashrc
文件末尾添加以下代码
if
""
exportWORKON_HOME=/home/.virtualenvs
exportVIRTUALENVWRAPPER_PYTHON=/usr/bin/python3
source/usr/local/python3/bin/virtualenvwrapper.sh
fi
source .bashrc #更新代码
相关命令
mkvirtualenv name -p python3 #创建环境
rmvirtualenv name #删除环境
workon name #进入环境
gunicorn
安装配置
安装
pip install gunicorn
配置
项目settings.py
install_app {
"""
"gunicorn",
"""
}
项目文件配置-gunicorn.py
import multiprocessing
bind = '0.0.0.0:8000' #监听端口
workers = 10
worker_connections = 200
pidfile = '/root/DjangoBlog/logs/gunicorn.pid' #pid文件
proc_name = "DjangoBlog"
reload = True #重载
errorlog = "/root/DjangoBlog/logs/guni.log" #报错日志
loglevel = 'debug' #debug等级
Supervisor
安装配置
安装
pip install supervisor
配置文件生成
mkdir -m 755 -p /etc/supervisor/
mkdir -m 755 conf.d
echo_supervisord_conf > /etc/supervisor/supervisord.conf
配置需要启动的项目
cd /etc/supervisor/conf.d
创建DjangoBlog.conf
文件
[program:Dblog] # 程序名字:启动/停止app_name部分
directory=/root/DjangoBlog #项目目录
command = /home/.virtualenvs/Dblong/bin/gunicorn -c /root/DjangoBlog/bin/guniconf.py DjangoBlog.wsgi:application
#程序运行命令配置了gunicorn
autostart = true
autorestart = true #程序自动重启
user=root #用户
redirect_stderr = true
stdout_logfile = /root/DjangoBlog/logs/robot.log
stderr_logfile=/root/DjangoBlog/logs/err.log
运行
supervisord -c /etc/supervisor/supervisord.conf
相关命令
启动程序
-
supervisorctl start program_name
关闭程序
supervisorctl stop program_name
-
supervisorctl shutdown
查看运行
supervisorctl status
Nginx
相关配置
nginx安装
方法一
下载
wget http://nginx.org/download/nginx-1.9.9.tar.gz
解压
tar -zxvf nginx-1.9.9.tar.gz
编译:cd 到解压目录下
./configure --prefix=/usr --sbin-path=/usr/sbin/nginx --conf-path=/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --pid-path=/var/run/nginx/nginx.pid --lock-path=/var/lock/nginx.lock --user=nginx --group=nginx --with-http_ssl_module --with-http_flv_module --with-http_gzip_static_module --http-log-path=/var/log/nginx/access.log --http-client-body-temp-path=/var/tem/nginx/client --http-proxy-temp-path=/var/tem/nginx/proxy --http-fastcgi-temp-path=/var/tem/nginx/fcgi --with-http_stub_status_module
安装
make && make install
方法二
sudo apt-get install nginx #安装
sudo service nginx start #运行
启动
nginx -c /etc/nginx/nginx.conf
报错1[emerg] getpwnam("nginx") failed
解决
useradd -s /sbin/nologin -M nginx
id nginx
报错2 [emerg] mkdir() "/var/temp/nginx/client" failed (2: No such file or directory)
解决
sudo mkdir -p /var/tem/nginx/client
nginx
命令
service nginx start #启动
service nginx stop #停止
service nginx reload #重启
nginx -s reload #重启
nginx -t # 测试
测试是否安装成功:
nginx -t
image.png
至此nginx安装完成,开始相关配置
nginx
配置
cd nginx安装目录:
如果不确定nginx安装目录nginx -t
可以看到the configuration...nginx.conf即配置文件所在位置,安装方法不同文件保存位置也会发生变化
由此可以看出nginx配置文件在etc/nginx下面的
cd /etc/nginx/
备份nginx配置
cp nginx.conf nginx.conf.cp
编辑配置文件
vim nginx.conf
配置内容
""""
#部署需要配置的部分
server {
listen 80; #监听80端口请求
server_name ip ; #这里配置你的ip
location / {
proxy_pass http://127.0.0.1:8000; #将xx端口转发nginx
proxy_set_header Host $host; #请求头
proxy_set_header X-Real-IP $remote_addr; #将项目请求ip转发到你的ip上
} #这段写法无需更改复制即可
#charset koi8-r;
#access_log logs/host.access.log main;
location /static {
alias /root/DjangoBlog/collectedstatic; #配置静态文件位置
}
""""
配置完成保存退出
重载配置文件:
nginx -s reload
至此整个项目配置完成
网友评论