日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 运维知识 > 数据库 >内容正文

数据库

Ubuntu+Django+Nginx+uWSGI+Mysql搭建Python Web服务器

發(fā)布時(shí)間:2024/9/5 数据库 48 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Ubuntu+Django+Nginx+uWSGI+Mysql搭建Python Web服务器 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

Ubuntu+Django+Nginx+uWSGI+Mysql搭建Python Web服務(wù)器

閑著無(wú)聊的時(shí)候部署了一個(gè)Django項(xiàng)目玩,用vm虛擬機(jī)部署的。

準(zhǔn)備工作

我使用的系統(tǒng)是Ubuntu16.04,大家可以去官網(wǎng)下載

?

1. 更新apt-get

sudo apt-get update sudo apt-get upgrade

2. 安裝SSH

sudo apt-get?install ssh

裝好以后,用ifconfig查看一下IP地址

?

可以看到IP地址是192.168.0.154,下面我們就使用XSHELL連接192.168.0.154進(jìn)行操作了。

3. 安裝Git

這一步不是必須的,因?yàn)槲业臏y(cè)試項(xiàng)目是放在git.oschina.com上的,安裝git獲取項(xiàng)目代碼就很方便了

sudo apt-get?install git

安裝配置MySQL

1. 安裝

sudo apt-get?install?mysql-server

安裝過(guò)程中會(huì)提示讓你設(shè)置root密碼

?

2. 配置

2.1 數(shù)據(jù)庫(kù)初始化:

sudo?mysql_install_db

2.2 運(yùn)行數(shù)據(jù)庫(kù)Mysql安全配置向?qū)?/p> sudo mysql_secure_installation

輸入root密碼

?

是否修改root密碼,因?yàn)榍懊嬉呀?jīng)設(shè)置過(guò)了,選n

?

是否移除匿名用戶,肯定是要選y的

?

是否允許遠(yuǎn)程登陸,如果選n的話,只能在本機(jī)訪問(wèn)數(shù)據(jù)庫(kù),建議選y

?

是否移除test數(shù)據(jù)庫(kù),建議選是

?

重新加載權(quán)限表,選y

?

All done!

安裝配置Python環(huán)境

1.安裝python-dev包

sudo apt-get?install python-dev

2.安裝pip

sudo apt-get?install?python-pip

3.更換pip源
因?yàn)閲?guó)內(nèi)使用默認(rèn)的pip源速度很慢,所以需要更換,在用戶根目錄下新建.pip目錄,在該目錄下新建pip.conf文件

sudo mkdir ~/.pip sudo vi ~/.pip/pip.conf

然后在文件里寫上:

[global] index-url = http://mirrors.aliyun.com/pypi/simple/ [install] trusted-host=mirrors.aliyun.com

4.安裝配置VirtualEnv和VirtualEnvWrapper
VirtualEnv可以管理多個(gè)開(kāi)發(fā)環(huán)境,VirtualEnvWrapper使得VirtualEnv變得更好用

sudo pip install virtualenv virtualenvwrapper

安裝完成以后,需要在環(huán)境變量中加入一些配置:
下面這句話是使用python3才需要執(zhí)行的,python2不需要

echo "export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3" >> ~/.bashrc

不管python是什么版本,都要執(zhí)行下面兩句:

echo "export WORKON_HOME=~/Env" >> ~/.bashrc echo "source /usr/local/bin/virtualenvwrapper.sh" >> ~/.bashrc

可以重啟系統(tǒng)激活,也可以運(yùn)行:

source ~/.bashrc

然后就可以開(kāi)始建立一個(gè)虛擬環(huán)境:

mkvirtualenv first

你會(huì)發(fā)現(xiàn),提示符變成(first)user@hostname:~$,表示現(xiàn)在已經(jīng)進(jìn)入first的虛擬環(huán)境,在此環(huán)境下進(jìn)行的pip等操作,只會(huì)在當(dāng)前環(huán)境下生效,當(dāng)前虛擬環(huán)境在/home/siva/Env/first目錄下

Django項(xiàng)目配置

1.安裝django

我使用選擇版本來(lái)安裝:

pip install django==1.10.1

2.下載或拷貝項(xiàng)目

安裝完成以后,使用git把項(xiàng)目clone下來(lái),此處填寫你自己的地址:

git?clone?https://git.oschina.net/xxx/Siva_First.git

此例子的項(xiàng)目名稱是Siva_First,路徑是在/home/siva/下

3.配置django

用Mysql建好項(xiàng)目的數(shù)據(jù)庫(kù),然后進(jìn)入Siva_First目錄,用django應(yīng)用數(shù)據(jù)模型:

python manage.py makemigrations python manage.py migrate

建立后臺(tái)超級(jí)用戶:

python manage.py createsuperuser

靜態(tài)文件安置:

python manage.py collectstatic

4.測(cè)試項(xiàng)目

運(yùn)行開(kāi)發(fā)服務(wù)器測(cè)試一下是否可以正常運(yùn)行:

python manage.py runserver 0.0.0.0:8000

這時(shí),用瀏覽器打開(kāi)http://192.168.0.154:8000/可以看到網(wǎng)站

5.退出虛擬環(huán)境

因?yàn)楫?dāng)前是在first虛擬環(huán)境下,為了下一步的安裝,必須退出當(dāng)前的虛擬環(huán)境:

deactivate

uWSGI安裝和配置

1.安裝uWSGI
pip下安裝很簡(jiǎn)單:

sudo pip?install?uwsgi

我們可以測(cè)試一下uwsgi是否安裝成功

uwsgi --http :8000?--home?/home/siva/Env/first --chdir?/home/siva/Siva_First -w Siva_First.wsgi

上面的命令是使用8000端口,虛擬環(huán)境在/home/siva/Env/first,項(xiàng)目在/home/siva/Siva_First下

2.配置uWSGI

使用上面的命令行來(lái)部署網(wǎng)站肯定是不行的,我們需要使用“Emperor mode”,建立一個(gè)目錄來(lái)放配置文件:

sudo mkdir -p /etc/uwsgi/sites cd /etc/uwsgi/sites

以項(xiàng)目名稱來(lái)命名這個(gè)配置文件:

sudo vi Siva_First.ini

內(nèi)容如下:

[uwsgi] project = Siva_First base = /home/sivachdir = %(base)/%(project) home = %(base)/Env/%(project) module = %(project).wsgi:application master = true processes = 5 socket = %(base)/%(project)/%(project).sock chmod-socket = 664 vacuum = true

project是項(xiàng)目名稱,base是項(xiàng)目所在位置

現(xiàn)在,配置文件建好了,但是uwsgi還不能自動(dòng)運(yùn)行我們需要在/etc/init目錄中建一個(gè)啟動(dòng)腳本:

sudo vi /etc/init/uwsgi.conf

內(nèi)容如下:

description "uWSGI application server in Emperor mode"start on runlevel [2345] stop on runlevel [!2345] setuid siva setgid www-data exec /usr/local/bin/uwsgi --emperor /etc/uwsgi/sites

這一步完成以后,uwsgi還是不能正常啟動(dòng),是因?yàn)閣ww-data用戶組還沒(méi)有創(chuàng)建,等我們裝完nginx以后就可以了。

反向代理:Nginx的安裝和配置

1.安裝

sudo apt-get install nginx

2.創(chuàng)建配置文件

sudo vi /etc/nginx/sites-available/Siva_First

內(nèi)容如下:

server {listen 80;server_name 192.168.0.154; location = /favicon.ico { access_log off; log_not_found off; } location /static/ { root /home/siva/Siva_First; } location / { include uwsgi_params; uwsgi_pass unix:/home/siva/Siva_First/Siva_First.sock; } }

然后把這個(gè)配置文件鏈接到sites-enabled目錄下

sudo ln -s /etc/nginx/sites-available/Siva_First /etc/nginx/sites-enabled/

檢查一下配置文件的語(yǔ)法是否有問(wèn)題

sudo service nginx configtest

如果沒(méi)問(wèn)題,那么重啟一下nginx和uwsgi的服務(wù)就可以訪問(wèn)了

sudo service nginx restart sudo service uwsgi restart

轉(zhuǎn)載于:https://www.cnblogs.com/stevenshushu/p/7844771.html

總結(jié)

以上是生活随笔為你收集整理的Ubuntu+Django+Nginx+uWSGI+Mysql搭建Python Web服务器的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。