在腾讯云上安装mysql遇到的问题
卸载mysql:
1、sudo apt-get autoremove --purge mysql-server-5.5
5.5 是数据库版本, mysql -v 显示版本信息
2、sudo apt-get remove mysql-server
3、sudo apt-get autoremove mysql-server
2、3可能没作用
4、sudo apt-get remove mysql-common
5、清理数据 :dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -P
在安装MySQL-Python的时候出现了这样的错误:
error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
想到应该是少了什么依赖包,在网上搜了一下找到了答案:
先安装这些包:
sudo apt-get install libxml2-dev libxslt1-dev python-dev
然后在安装:
sudo pip install MySQL-python
部署django项目需要用到的命令(以下是在阿里云服务器上部署的命令)
- 安装Ubuntu系统或CentOS系统
pip freeze >requirements.txt
pip install -r requirements.txt
- 相关环境搭建
sudo passwd 修改root相关密码
输入su回车 进入超级管理员
sudo apt-get install python (如果有python环境可以不装)
sudo apt-get install python-dev
sudo apt-get install python-pip
sudo apt-get install libxml*
sudo apt-get install net-tools
sudo apt-get install lsof
- 上述步骤在阿里云服务上不用做,已经配好。只做以下步骤即可。
- ------更新本地包---------
Sudo apt-get update
- ------更新pip版本---------
pip install --upgrade pip
- ------安装SSH---------
sudo apt-get install openssh-server
-------安装MySQL服务---------
1> sudo apt-get install mysql-server
2> sudo apt-get install mysql-client (安装过程中需要设置密码:123456)
sudo apt-get install libmysqlclient-dev
- ------安装 Nginx---------
sudo apt-get install nginx
- ------安装 uwsgi---------
sudo pip install uwsgi
- 测试uwsgi
def application(env, start_response):
start_response('200 OK', [('Content-Type','text/html')])
return “HelloWorld”
1.Vim test.py 打开test.py
2.按下 i 键 进入文件的编辑模式,然后将内容复制进去,检查内容是否正确。
3.然后按下 Esc 键,退出编辑模式。
4.连续按Shift + Z + Z保存退出。
uwsgi --http :8001 --wsgi-file test.py
- 安装django: pip install django
- -------修改django项目的配置文件-----------
DEBUG = False
ALLOWED_HOSTS = ["*"]
-------静态文件-----------
说明:STATIC_ROOT必须设置,而且和STATICFILES_DIRS不能共存
在django的setting文件中,添加下面一行内容:
STATIC_ROOT = os.path.join(BASE_DIR, "static")
然后运行(收集admin后台的静态文件,如果不收集,将来访问linux的blog的admin将没有样式): python manage.py collectstatic
- 配置完成,将项目上传到Linux系统中
- 为你的项目创建一个uwsgi的配置文件,统一命名为uwsgi.ini,可以放在任意位置,但是为了方便查找,统一设置在项目根目录下。
[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
- ----进入etc/nginx/conf.d文件夹下创建django_nginx.conf文件------
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/;
}
}
- 重启nginx
sudo service nginx restart
- ----通过uwsgi运行django项目------
uwsgi --ini 配置文件的路径(uwsgi.ini)
- 再次通过浏览器访问项目.出现界面则表示部署正确
- ----------------问题-------------------
1,uwsgi遇到ImportError: No module named django.core.wsgi问题
通过在wsgi.py里面打印sys.path发现是因为path里面并没有包含该安装的site-packages的路径,因此在wsgi.py添加如下语句
sys.path.append('/usr/lib/python2.7/site-packages')
sys.path.append('/usr/lib64/python2.7/site-packages')
- netstat -ap | grep 8080 查看8080端口是谁在使用
- kill -9 pid号 强制关闭占用端口的程序
上一篇: 南京雨花台风景区旅游攻略
下一篇: 武夷山九曲溪竹筏漂流门票多少钱