卸載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 m ...
卸載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號 強制關閉占用埠的程式