连接服务器
@H_
502_8@1)账号
>: ssh
[email protected]
2)密码
>:
********
服务器命令
@H_
502_8@1)以下所有的服务器命令均可以在
管理员权限下执行
>: sudo 命令
配置终端
更改名称为提示路径:
![CentOS下的Nginx+uWSGI+Django部署web服务(小白畅行) CentOS下的Nginx+uWSGI+Django部署web服务(小白畅行)](http://img.voidcn.com/vcimg/static/loading.png)
@H_
502_8@1)编辑
配置文件
>: vim ~/
.bash_profile
2)将原来
内容全部
删除掉
>: ggdG
3)进入编辑状态:填入下方两行
>: i
export PATH=$PATH:$HOME/bin
PS1='Path:\w\n>:'
4)
退出编辑状态
>: esc
5)保存
修改并
退出
>: :wq
6)生效配置
>:
source ~/
.bash_profile
更新系统软件包
博主这里使用的是centos,yum 软件包管理器在centos中使用才可以。如果是ubuntu默认软件包管理器不是yum,而是dpkg,安装软件时用apt-get你说的网上常见法解决方法,命令改为代码:sudo apt-get install net-tools,这样就安装好了。
@H_
502_8@>: yum
update -y
安装软件管理包和可能使用的依赖
@H_
502_8@>: yum -y groupinstall "Development tools"
>: yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel
sqlite-devel psmisc libffi-devel
安装git
@H_
502_8@>: yum install git
@H_
502_8@1)前往
用户根目录
>: cd ~
2)下载 或
上传 python3.6.7
>: wget
https://www.python
.org/ftp/python/3.6.7/Python-3.6.7.tar.xz #wget 下载
功能
>: scp -r 本地Python-3.6.7.tar.xz ssh
[email protected]:服务器路径
>: scp -r C:\
source\Python-3.6.7.tar.xz ssh
[email protected]:~ # -r 不论是
文件还是
文件夹都
上传
3)解压安装包
>: tar -xf Python-3.6.7.tar.xz
4)进入目标
文件
>: cd Python-3.6.7
5)配置
安装路径:/usr/local/
python3
>: ./con
figure --prefix=/usr/local/
python3
6)编译并安装
>: make && sudo make install
7)建立软连接:终端命令
python3,pip3
>: ln -s /usr/local/
python3/bin/
python3 /usr/bin/
python3
>: ln -s /usr/local/
python3/bin/pip3.6 /usr/bin/pip3
8)
删除安装包与
文件:
>: rm -rf Python-3.6.7
>: rm -rf Python-3.6.7.tar.xz
配置pip源:
@H_
502_8@1)创建pip配置路径
>: mkdir ~/.pip
2)进入目录编辑
配置文件:填入下方
内容
cd ~/.pip && vim pip.conf
[global]
index-url =
http://pypi.douban.com/simple
[install]
use-mirrors =true
mirrors =
http://pypi.douban.com/simple/
trusted-host =pypi.douban.com
安装虚拟环境:默认工作路径 ~/.virtualenvs
workeron 进入虚拟环境 deactivate退出
@H_
502_8@1)安装依赖
>: pip3 install virtualenv
>: pip3 install virtualenvwrapper
2)建立虚拟环境软连接
>: ln -s /usr/local/
python3/bin/virtualenv /usr/bin/virtualenv
3)配置虚拟环境:填入下方
内容
>: vim ~/
.bash_profile
VIRTUALENVWRAPPER_PYTHON=/usr/bin/
python3
source /usr/local/
python3/bin/virtualenvwrapper.sh
4)
退出编辑状态
>: esc
5)保存
修改并
退出
>: :wq
6)更新
配置文件内容
>:
source ~/
.bash_profile
安装uwsgi
@H_
502_8@1)在真实环境下安装
pip3 install uwsgi
2)建立软连接
ln -s /usr/local/
python3/bin/uwsgi /usr/bin/uwsgi
在虚拟环境 真实环境都装一份uwsgi
新建虚拟环境跑Django项目
新建虚拟环境跑Django项目
@H_
502_8@1)创建虚拟环境
>: mkvirtualenv
test_venv
2)安装依赖
>: pip install django
3)前往目标目录,创建项目工作目录,再进入
>: cd /home
>: mkdir pro
ject
>: cd pro
ject
4)创建Django项目,并进入
>: django-admin startpro
ject
test_site
>: cd
test_site
5)完成项目配置:
修改下方几行
内容
>: vim /home/pro
ject/
test_site/
test_site/set
Ting
s.py
ALLOWED_HOSTS = ['*']
#DATABASES =
{
# 'default':
{
# '
ENGINE': 'django.db.
BACkend
s.@R_
502_1442@',# 'NAME':
os.path.join(BASE_DIR,'db.@R_
502_1442@'),# }
#}
6)跑原生服务
>:
python3 manage.py runserver 0.0.0.0:80
@H_
502_8@1)前往
用户根目录
>: cd ~
2)下载
Nginx1.13.7
>: wget
http://
Nginx.org/download/
Nginx-1.13.7.tar.gz
3)解压安装包
>: tar -xf
Nginx-1.13.7.tar.gz
4)进入目标
文件
>: cd
Nginx-1.13.7
5)配置
安装路径:/usr/local/
Nginx
>: ./con
figure --prefix=/usr/local/
Nginx
6)编译并安装
>: make && sudo make install
7)建立软连接:终端命令
Nginx
>: ln -s /usr/local/
Nginx/sbin/
Nginx /usr/bin/
Nginx
8)
删除安装包与
文件:
>: rm -rf
Nginx-1.13.7
>: rm -rf
Nginx-1.13.7.tar.xz
9)测试
Nginx环境,服务器运行
Nginx,本地访问服务器ip
>:
Nginx
>: 服务器绑定的域名 或 ip:80
@H_
502_8@1)启动
>:
Nginx
2)
关闭Nginx
>:
Nginx -s stop
3)重启
Nginx
>:
Nginx -s reload
4)查看端口,强行
关闭
>: ps -aux|grep
Nginx
>: kill <pid:进程编号>
@H_
502_8@netstat -tunlp|grep 8000
@H_
502_8@1)在项目的虚拟环境安装uwsgi
>: workon
test_venv
>: pip install uwsgi
2)项目根目录配置uwsgi:填入下方
内容
#
添加uwsgi配置
>: vim /home/pro
ject/
test_site/
test_site.xml
<uwsgi>
<socket>127.0.0.1:8808</socket> <!-- 内部端口,
自定义 -->
<chdir>/home/pro
ject/
test_site/</chdir> <!-- 项目路径 -->
<module>
test_site.wsgi</module> <!--
test_site为wsgi.py所在目录名-->
<processes>4</processes> <!-- 进程数 -->
<daemonize>uwsgi.log</daemonize> <!-- 日志
文件 -->
</uwsgi>
3)完成项目配置:
修改下方几行
内容
# 当我们使用uwsgi来起项目就不是debug模式了
>: vim /home/pro
ject/
test_site/
test_site/set
Ting
s.py
DEBUG =
false
# 可以配置成* 但是强烈建议使用具体ip
ALLOWED_HOSTS = ['47.103.31.166']
4)去向
Nginx配置目录,备份配置,完全更新配置:填入下方
内容
>: cd /usr/local/
Nginx/conf
>: cp
Nginx.conf
Nginx.conf
.bak # 备份
>: vim
Nginx.conf
>: ggdG
>: i
events
{
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
server
{
listen 8000;
server_name 127.0.0.1; # 改为自己的域名,没域名
修改为127.0.0.1
charset utf-8;
LOCATIOn /
{
include uwsgi_params;
uwsgi_pass 127.0.0.1:8808; # 端口要和uwsgi里配置的一样
uwsgi_param UWSGI_SCRIPT
test_site.wsgi; #wsgi.py所在的目录名+.wsgi
uwsgi_param UWSGI_CHDIR /home/pro
ject/
test_site/; # 项目路径
}
}
}
5)启动uwsgi
>: uwsgi -x /home/pro
ject/
test_site/
test_site.xml
6)启动
Nginx
>:
Nginx
7)浏览器测试:
http://39.100.155.49/admin
8)
关闭uwsgi所有进程
>: pkill -f uwsgi -9
@H_
502_8@1)项目本地打包 在项目根目录下
npm run build # 进行精简打包
2)
上传
scp -r dist ssh
[email protected]:~
3)
mv -r dist /home/html
events
{
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
server
{
listen 8000;
server_name 127.0.0.1; # 改为自己的域名,没域名
修改为127.0.0.1:80
charset utf-8;
LOCATIOn /
{
include uwsgi_params;
uwsgi_pass 127.0.0.1:8808; # 端口要和uwsgi里配置的一样
uwsgi_param UWSGI_SCRIPT
test_site.wsgi; #wsgi.py所在的目录名+.wsgi
uwsgi_param UWSGI_CHDIR /home/pro
ject/
test_site/; # 项目路径
}
}
server
{
listen 80;
server_name 127.0.0.1; # 改为自己的域名,没域名
修改为127.0.0.1:80
charset utf-8;
LOCATIOn /
{
root /home/html; #html访问路径
index index.html; #html
文件名称
}
}
}
@H_
502_8@1)前往
用户根目录
>: cd ~
2)下载
MysqL57
>: wget
http://dev.
MysqL.com/get/
MysqL57-community-release-el7-10.noarch.rpm
3)安装
MysqL57
>: yum -y install
MysqL57-community-release-el7-10.noarch.rpm
>: yum -y install
MysqL-community-server
4)启动
MysqL57并查看启动状态
>: sy
stemctl start
MysqLd.
service
>: sy
stemctl status
MysqLd.
service
5)查看
默认密码并
登录
>: grep "
password" /var/log/
MysqLd.log
>:
MysqL -uroot -p
6)
修改密码
>: ALTER USER 'root'@'localhost' IDENTIFIED BY 'new
password';
@H_
502_8@1)前往
用户根目录
>: cd ~
2)下载
redis-5.0.5
>: wget
http://download.
redis.io/releases/
redis-5.0.5.tar.gz
3)解压安装包
>: tar -xf
redis-5.0.5.tar.gz
4)进入目标
文件
>: cd
redis-5.0.5
5)编译环境
>: make
6)复制环境到指定路径完成安装
>: cp -r ~/
redis-5.0.5 /usr/local/
redis
7)配置
redis可以
后台启动:
修改下方
内容
>: vim /usr/local/
redis/
redis.conf
daemonize yes
8)完成配置
修改
>: esc
>: :wq
9)建立软连接
>: ln -s /usr/local/
redis/src/
redis-server /usr/bin/
redis-server
>: ln -s /usr/local/
redis/src/
redis-cli /usr/bin/
redis-cli
10)
后台运行
redis
>:
redis-server &
ctrl + c
11)测试
redis环境
>:
redis-cli
ctrl + c
12)
关闭redis服务
>: pkill -f
redis -9
后端项目
导出依赖包:
pip freeze > 导入到文件的文件名
导入依赖包:
注意Xadmin需要单独下载
pip install -r 文件名
"""
设置权限账号密码
# 授权账号命令:grant 权限(create,updatE) on 库.表 to '账号'@'host' identified by '密码'
>: grant all privileges on luffy.* to 'luffy'@'%' identified by 'luffy';
# 要是本机连MysqL连不上,再添加localhost访问权限,本机就可以登录了
>: grant all privileges on luffy.* to 'luffy'@'localhost' identified by 'luffy';
# 设置完有权限限制的账号后一定要刷新权限,如果没刷新权限,该终端无法被通知
>: flush privileges;
7.
"""
运行会出现Django与pyMysqL版本兼容问题:见两张插图
做出向应修改即可
![CentOS下的Nginx+uWSGI+Django部署web服务(小白畅行) CentOS下的Nginx+uWSGI+Django部署web服务(小白畅行)](http://img.voidcn.com/vcimg/static/loading.png)
![CentOS下的Nginx+uWSGI+Django部署web服务(小白畅行) CentOS下的Nginx+uWSGI+Django部署web服务(小白畅行)](http://img.voidcn.com/vcimg/static/loading.png)
前后端分离项目
在上线前后端分离项目时,做好跨域问题就好 。