1,建立工程目錄css
mkdir /hk 做爲主工做目錄 cd /hk
2,nginx 安裝html
wget nginx.org/packages/mainline/centos/7/x86_64/RPMS/nginx-1.9.9-1.el7.ngx.x86_64.rpm rpm -ivh nginx-1.9.9-1.el7.ngx.x86_64.rpm yum install nginx systemctl start nginx.service //在Centos7 下原service 變成systemctl systemctl enable nginx.service //設置nginx 開機啓動 // nginx 參數配置 cd /etc/nginx/conf.d vim myproject.conf //內容以下 server { listen 80; server_name 192.168.1.198; //本機IP或者域名 charset utf-8; client_max_body_size 75M; location /media { alias /hk/myproject/media; } location /static { alias /hk/myproject/static; } location / { uwsgi_pass 127.0.0.1:8001; //關鍵參數,這個參數就是nginx與uwsgi鏈接的套接字 include /etc/nginx/uwsgi_params; } }
3, 建立django projectpython
django-admin.py startproject myproject cd myproject python manage.py startapp mysites vim myproject/settings.py //加入app mysites 保存 python manage.py migrate # 防火牆開放端口 8001 用於測試,用後須要關閉 firewall-cmd --add-port=8001/tcp --permanent firewall-cmd reload python runserver 0.0.0.0:8001 //在其它電腦輸入IP:8001就是django默認的首頁了 // 這是一個最基本的工程,就只是django的默認的首頁 // 通常狀況下須要在/hk/myproject 下還要增長如 static 靜太文件, templates 這些文件夾 // 在這種狀況下,django的後臺默認的css是不能加載,須要collection static
4,uwsgi 安裝mysql
pip install uwsgi # 防火牆開放端口 8001 用於測試,用後須要關閉 firewall-cmd --add-port=8001/tcp --permanent firewall-cmd reload cd /hk/myproject # 建立測試uwsgi服務器 vim test_uwsgi.py //內容以下 def application(env, start_response): start_response('200 OK', [('Content-Type', 'text/html')]) return 'Hello World' //保存 執行以下命令 uwsgi --http :8001 --wsgi-file test_uwsgi.py //這個時修改在其它電腦輸入IP地址:8001就會出現 //Hello World //表示uwsgi服務良好 //但這並非咱們想要的目的 //咱們須要在uwsgi 是配製文件式 //因此建立 /hk/uwsgi_myproject.ini //並在文件里加入 [uwsgi] socket = 127.0.0.1:8001 chdir = /hk/myprject/ wsgi-file = myprject/wsgi.py master = true processes = 2 threads = 2 limit-as = 512 deamonize = /var/log/uwsgi/uwsgi8001.log //保存 uwsgi --ini /hk/hkwebsite/uwsgi_myproject.ini & // 這個是已經後臺進程運行了
5 運行nginx
//咱們先運uwsgi uwsgi --ini /hk/hkwebsite/uwsgi_myproject.ini & // 因爲防火牆的存這個nginx與uwsgi是不能建鏈接的,也就是轉發如要開啓這項功能,代碼以下 setsebool -P httpd_can_network_connect 1 //而後 從新加載 systemctl reload nginx.service // 在其它電腦輸入IP地址就,nginx默認端口80就轉發uwsgi 8001上了 // 關閉外網直接訪問8001端口, 開啓防火牆 firewall-cmd --zone=public --remove-port=8001/tcp --permanent firewall-cmd --reload
6 加入supervisorgit
//保證開機自啓動, 通常狀況下還會有mysql redis 這樣的服務須要啓動,在centos下默認爲啓動就能夠了 //對於程序,還須要更多的一些內容 //如django 里加入celery 作定任務, //如後臺tcp服務器,都須要作成supervisor管理的任務,當出現問題的時候能快束的被發現 //supervisor 配置 [program:myproject] command=uwsgi --ini /hk/uwsgi_myproject.ini ; the program (relative uses PATH, can take args) stopsignal=QUIT autostart=true autrestart=true //supervisord.conf開機啓動 vim /lib/systemd/system/supervisord.service # dservice for systemd (CentOS 7.0+) # by ET-CS (https://github.com/ET-CS) [Unit] Description=Supervisor daemon [Service] Type=forking ExecStart=/usr/bin/supervisord -c /hk/supervisord.conf ExecStop=/usr/bin/supervisorctl shutdown ExecReload=/usr/bin/supervisorctl reload KillMode=process Restart=on-failure RestartSec=42s [Install] WantedBy=multi-user.target # 保存後 開啓開機啓動 systemctl enable supervisord.service systemctl start/restart/stop supervisord.service # reboot 開機就自行啓動,若是咱們須要在增長supervisor來管理程序,只須要在supervisord.conf 方件裏增長相關程序就能夠了