工程上线阿里云服务器的配置
在阿里云linux上运行
------更新本地包---------
Sudo apt-get update
------更新pip版本---------
pip install --upgrade pip
------安装SSH---------
sudo apt-get install openssh-server
-------安装MySQL服务---------
1>sudo apt-get install mysql-server (安装过程中需要设置密码:123456) 密码下键回车
2>sudo apt-get install mysql-client
3>sudo apt-get install libmysqlclient-dev
安装django pip install django
安装 django-python Pip install MySQL-python
安装完成以后,输入:mysql -uroot -p 回车 输入密码看能否进行正常的本地登录。
4>修改mysql配置文件取消绑定本地(只允许本地链接),Linux用户需要编辑配置文件,Windows用户不用编辑:
vim /etc/mysql/mysql.conf.d/mysqld.cnf 命令打开文件
按 i 键进入编辑模式:
编辑完成,按 Esc 键退出编辑模式,再连续按组合键 Shift + z 键退出vim模式。
然后在mysql中新建用户 test 并分配 远程连接权限 (默认用户root不能用于远程连接)
grant all privileges on *.* to 'test'@'%'identified by '123456' with grant option;
然后刷新mysql用户权限相关表;
flush privileges ;
执行重启mysql服务:service mysql restart
阿里云配置:
1>在阿里云上启用 3306 端口,配置安全组规则;
2>在阿里云上启用 8001端口,配置安全组规则;
执行登录测试是否可以远程登录:mysql -h 101.200.40.192 -u test -p 输入密码
使用阿里云公网ip
1> 可以使用navicate mysql界面工具链接服务器中的数据库了。
附录:如果服务器数据库出现错误,如何将已安装的mysql文件全部删除,再重新安装即可:
1.
2. 执行以下 命令 搜索服务器中残留的mysql文件:
sudo find / -name mysqk -print
使用Xshell和FileZilla分别连接阿里云
主机:阿里云公网ip
用户名:root
密码:使用重置密码配置的阿里云密码
端口:22
然后在FileZilla中上传文件以及配置
先在本地修改
1. -------修改django项目的配置文件-----------
DEBUG = False
ALLOWED_HOSTS = ["*"]
数据库部分 修改成自己创建的用户和将要使用的数据库
DATABASES = {
'default': {
'ENGINE': 'django.db.backends.mysql',
'USER': 'test',
'PASSWORD': '123456',
'HOST': 'localhost',
'NAME': 'blog',
}
}
-------静态文件-----------
说明:STATIC_ROOT必须设置,而且和STATICFILES_DIRS不能共存
在django的setting文件中,添加下面一行内容:
STATIC_ROOT = os.path.join(BASE_DIR, "static")
然后运行(收集admin后台的静态文件,如果不收集,将来访问linux的blog的admin将没有样式): python manage.py collectstatic 然后看看static中有没有admin文件
2. 配置完成,在阿里云的linux中先安装两个服务Nginx和uwsgi然后将项目上传到Linux系统中最后配置这两个服务
sudo apt-get install nginx
sudo pip install uwsgi
文件上传只需要将文件拖进去即可 上传前就是创建目录 每层目录都要配置777权限
配置服务
3. 为你的项目创建一个uwsgi的配置文件,统一命名为uwsgi.ini,可以放在任意位置,但是为了方便查找,统一设置在项目根目录下。
需要创建目录,每创建一级目录或文件 都要设置权限777 右键配置即可
=============================要中间部分=============================
[uwsgi]
# Django-related settings
# uwsgi这个服务监听的是9001端口,如果nginx想要向uwsgi转发请求,那么nginx必须使用9001端口发送请求。
socket = 127.0.0.1:9001
# 项目绝对路径①
chdir = /home/project/LoginDemo
# Django的wsgi文件相对路径②
wsgi-file = LoginDemo/wsgi.py
# process-related settings
# master
master = True
# 最大进程数
processes = 4
# 线程数
threads = 2
#设置此参数,有一个主进程
master=True
#守护进程的方式运行,log日志存在此log文件里
deamonize=/var/log/uwsgi/djangoProject.log
#主进程id写入文件里
pidfile= /var/log/nginx/uwsgi.pid
# ... with appropriate permissions - may be needed
# chmod-socket = 664
#退出时,清理环境
vacuum = True
reload-mercy = 10
max-requests = 5000
limit-as = 512
buffer-size = 30000
plugins= python
============================要中间部分=============================
下一步:然后配置nginx服务
Conf.d中创建文件并分配权限777 将以下内容粘贴进去注意修改端口号和两个绝对路径
=============================要中间部分=============================
server {
# listen 是nginx服务监听的端口,如果用户想要访问后台项目,请使用8000端口。该端口可以自定义。
# uwsgi的端口是供内部各个服务使用的。Nginx的端口是供用户使用的。
listen 8000;
server_name 127.0.0.1
access_log /var/log/nginx/logindemo_access.log;
error_log /var/log/nginx/logindemo_error.log;
charset utf-8;
client_max_body_size 75M;
root /home/project/LoginDemo;
location / {
include uwsgi_params;
uwsgi_pass 127.0.0.1:9001;
uwsgi_read_timeout 2;
}
location /static/ {
expires 30d;
autoindex on;
add_header Cache-Control private;
alias /home/project/LoginDemo/static/;
}
}
=============================要中间部分=============================
配置完成后 在阿里云linex中创建需要使用的数据库 并进入根目录中同步一下数据
Python manage.py makemigrations
Python manage.py migrate
最后重启nginx
sudo service nginx restart
----通过uwsgi运行django项目------
uwsgi --ini 配置文件的路径(uwsgi.ini)
在网络上使用
http://47.94.150.193:8001/blog/index 进行访问
阿里云公网ip 和配置的端口号 路由
如何不加端口,只通过ip访问路由
1. 设置nginx的配置文件xxx.conf的时候,需要将nginx监听的端口为80
2. 但是nginx这个服务所使用的端口号就是80,都是80会产生冲突,因而要将nginx服务器使用80端口改为其它端口
修改方法在
下载default 修改nginx监听的端口default为88 然后再拖上去覆盖即可
3. 阿里云服务器的实例必须要开方80端口,否则无法连接服务器,用到那个端口都要开通
重启服务 nginx 进行访问