在騰訊雲上安裝mysql遇到的問題

 

卸載mysql:html

一、sudo apt-get autoremove --purge mysql-server-5.5python

    5.5 是數據庫版本, mysql -v 顯示版本信息mysql

二、sudo apt-get remove mysql-serverlinux

三、sudo apt-get autoremove mysql-servernginx

      二、3可能沒做用   sql

四、sudo apt-get remove mysql-common數據庫

 

五、清理數據 :dpkg -l |grep ^rc|awk '{print $2}' |sudo xargs dpkg -Pdjango

 

 

 

在安裝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項目須要用到的命令(如下是在阿里雲服務器上部署的命令)

  1. 安裝Ubuntu系統或CentOS系統

pip freeze >requirements.txt

pip install -r requirements.txt

  1. 相關環境搭建

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

  1. 上述步驟在阿里雲服務上不用作,已經配好。只作如下步驟便可。
  2. ------更新本地包---------

Sudo apt-get update

  1. ------更新pip版本---------

pip install --upgrade pip

  1. ------安裝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

  1. ------安裝 Nginx---------

sudo apt-get install nginx

  1. ------安裝 uwsgi---------

sudo pip install uwsgi

  1. 測試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

  1. 安裝django: pip install django
  2. -------修改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

  1. 配置完成,將項目上傳到Linux系統中
  2. 爲你的項目建立一個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

 

  1. ----進入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/;

     }

 }

  1. 重啓nginx

sudo  service  nginx  restart

  1. ----經過uwsgi運行django項目------

uwsgi --ini 配置文件的路徑(uwsgi.ini)

  1. 再次經過瀏覽器訪問項目.出現界面則表示部署正確
  2. ----------------問題-------------------

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')

 

  1. netstat -ap | grep 8080  查看8080端口是誰在使用
  2. kill -9 pid號  強制關閉佔用端口的程序
相關文章
相關標籤/搜索