環境:?騰訊云服務器Centos 7 64位 ;
Nginx : ?1. 下載: wget?nginx-1.13.9.tar.gz?, 解壓 安裝 ./configure —prefix= /usr/local/nginx;
啟動:
$ /usr/local/nginx/sbin/nginx
檢查是否啟動成功:
打開瀏覽器訪問此機器的 IP,如果瀏覽器出現 Welcome to nginx! 則表示 Nginx 已經安裝并運行成功。
部分命令如下:
重啟:$ /usr/local/nginx/sbin/nginx –s reload
停止:$ /usr/local/nginx/sbin/nginx –s stop
測試配置文件是否正常:$ /usr/local/nginx/sbin/nginx –t
強制關閉:$ pkill nginx
安裝Django :
在安裝之前,首先安裝 yum install python-devl,gcc,setuptools,openssl ,openssl-devel;
在此使用的時python3.6.3版本, wget?https://www.python.org/ftp/python/3.6.3/Python-3.6.3.tgz?;
解壓 tar -zxvf?Python-3.6.3.tgz;
進入python解壓包中,執行: ./configure?—prefix= /usr/local/python36, 然后編譯安裝: make &&make install ;
安裝完成之后,因為Linux內部已有自帶的python2版本,在此不要隨意覆蓋(會出現一系列的問題);
cd /etc/bin建立python3的軟連接 ,???
ln -s /usr/local/python36/bin/python3 ?/usr/bin/python3 ;?
由于購買的是騰訊云服務器,發現沒有pip, 同樣步驟建立pip3的軟連接: ln -s /usr/local/python36/bin/pip3 ?/usr/bin/pip3; 完成以后,輸入 python3?—version 即可查詢python的版本,輸入python即是系統自帶python版本; pip同理;
在上述步驟完成之后, 運行pip3 install Django , pip3 install uwsgi,安裝好之后要和上面一樣,將django-admin.py, Django-admin, uwsgi 建立軟連接,?ln -s /usr/local/python36/bin/django-admin.py ?/usr/bin/django-admin.py ;??ln -s /usr/local/python36/bin/django-admin ?/usr/bin/django-admin;??ln -s /usr/local/python36/bin/uwsgi ?/usr/bin/uwsgi ;之后依次運行:
yum installzlib-devel,libjpeg-turbo-devel,pillow < Django 依賴包>
$ django-admin startproject mysite? ?
$python?manage.py?runserver?0.0.0.0:8000, 打開瀏覽器即可看到django的首頁面;
為驗證安裝的uwsgi是否成功,輸入 uwsgi?—version:查看版本號 或者新建一個hello.py文件:
def?application(env, start_response):?
? ?start_response('200 OK', [('Content-Type','text/html')])
? ???return?[b"Hello World”]
保存退出, $ uwsgi --http :8000 --wsgi-file hello.py
在瀏覽器中即可看到 hello world
配置nginx 和uwsgi ,首先得先說明我的項目文件夾目錄如下圖所示:
在項目mysite文件夾下新建一個test文件夾 mkdir test(名稱沒有限制),在test文件夾中新建一個名為uwsgi.ini文件vim uwsgi.ini,配置的信息如下:
[uwsgi]
# 項目目錄
chdir=/root/mysite
# 指定項目的application
# module=mysite.wsgi:application
#?進程個數
workers=5
pidfile=/root/mysite/script/uwsgi.pid
#?指定IP端口
http=127.0.0.1:9090
#?指定靜態文件
static-map=/static=/root/mysite/static
#?啟動uwsgi的用戶名和用戶組
uid=root
gid=root
#?啟用主進程
master=true
#?自動移除unix Socket和pid文件當服務停止的時候
vacuum=true
#?序列化接受的內容,如果可能的話
thunder-lock=true
#?啟用線程
enable-threads=true
#?設置自中斷時間
harakiri=30
#?設置緩沖
post-buffering=4096
#?設置日志目錄
daemonize=/root/mysite/script/uwsgi.log
#?指定sock的文件路徑
socket=/root/mysite/script/uwsgi.sock
max-requests =1000
:wq(保存)
然后,vim /usr/local/nginx/conf/nginx.conf,如下圖所示:
mysql 安裝
參考資料:http://www.chenxm.cc/post/275.html
http://www.runoob.com/django/django-nginx-uwsgi.html
https://blog.csdn.net/cxm19881208/article/details/62047392
配置nginx綁定支持http與https的域名:
vim ?nginx安裝目錄/url/local/nginx/nginx.conf,詳細配置如下:
server {
??? listen?????? 80;
??? charset utf-8;
server_name?www.onexing.cn;
??? return 301 https://$server_name$request_uri;
??? }
server {
??? listen 443;
server_name?www.onexing.cn; #填寫綁定證書的域名
??? ssl on;
??? ssl_certificate???? 1_www.onexing.cn_bundle.crt;
??? ssl_certificate_key 2_www.onexing.cn.key;
??? ssl_session_timeout 5m;
??? ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #按照這個協議配置
??? ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;#按照這個套件配置
??? ssl_prefer_server_ciphers on;
??? charset utf-8;
??? #charset koi8-r;
??? #access_log? logs/host.access.log? main;
??? location / {
??????? include uwsgi_params;? # 導入一個Nginx模塊他是用來和uWSGI進行通訊的
??????? uwsgi_pass? 127.0.0.1:8000;
??????? uwsgi_connect_timeout 30;? # 設置連接uWSGI超時時間
??????? uwsgi_read_timeout 1800;
??????? uwsgi_send_timeout 300;
??????? proxy_read_timeout 300;
??????? root?? /root/mysite;
??????? index? index.html index.htm;
??? }
? ?location ^~ /static/ {
? ? ? ? ? root /root/mysite/; ? # 項目目錄
? }