在ubuntu14.10上安装uwsgi+nginx

安装ubuntu 14.10服务器版,不用桌面版。

服务器安装时, 语言选 english,选中文的话,locale会是zh_CN,后面安装包会报没有语言包警告。

安装结束时,选择一个OpenSSH,可以直接使用 SecureCRT连接服务器进行操作。

不选择那个Landscape更新管理,听说它是60天免费试用。

1、修改apt更新源

国内源有搜狐,网易,阿里云。 我使用移动网,使用网易的源安不上pip,最后选的是sohu源。

deb http://mirrors.sohu.com/ubuntu/ utopic main restricted universe multiverse

deb http://mirrors.sohu.com/ubuntu/ utopic-security main restricted universe multiverse

deb http://mirrors.sohu.com/ubuntu/ utopic-updates main restricted universe multiverse

deb http://mirrors.sohu.com/ubuntu/ utopic-proposed main restricted universe multiverse

deb http://mirrors.sohu.com/ubuntu/ utopic-backports main restricted universe multiverse

deb-src http://mirrors.sohu.com/ubuntu/ utopic main restricted universe multiverse

deb-src http://mirrors.sohu.com/ubuntu/ utopic-security main restricted universe multiverse

deb-src http://mirrors.sohu.com/ubuntu/ utopic-updates main restricted universe multiverse

deb-src http://mirrors.sohu.com/ubuntu/ utopic-proposed main restricted universe multiverse

deb-src http://mirrors.sohu.com/ubuntu/ utopic-backports main restricted universe multiverse

使用sudo -s把自己变成root,不用每次输sudo,以下命令都省略sudo。

首先备份源列表:

vi cp /etc/apt/sources.list /etc/apt/sources.list_backup

而后用gedit或其他编辑器打开,在这里只能使用vi,或者nano:

vi /etc/apt/sources.list

按Esc 然后 dG, 全部删除内容。

按i键进入Insert模式,通过SecureCRT 粘贴进去。

2、配置网络

安装过程会有设置IP的对话框,不小心填错DNS。

vi /etc/network/interfaces

# The primary network interface

auto eth0

iface eth0 inet static

address 192.168.11.36

netmask 255.255.255.0

network 192.168.11.0

broadcast 192.168.11.255

gateway 192.168.11.1

# dns-* options are implemented by the resolvconf package, if installed

dns-nameservers 114.114.114.114

dns-search mz.com

重启网卡,让网络配置生效

ifdown eth0

ifup eth0

使用service networking restart 会报错 object failure。

3、安装uwsgi和nginx

ubuntu 14.10自带python 2.7.6, 做apt-get update后会升级到 2.7.8,不知道会不会不小心升级到python 3。

apt-get install python-pip

安装要占用130多M,不过还是划算。

安装uwsgi需要准备一下编译环境,否则会报找不到pytho.h错误。

apt-get install build-essential python

apt-get install python-dev

安装uwsgi

pip install uwsgi==2.0.8

pip会自己选择最新稳定版本,但我这里指定版本。

安装nginx

nginx=stable # use nginx=development for latest development version

add-apt-repository ppa:nginx/$nginx

apt-get update

apt-get install nginx

使用的ppa方式。

安装 django 

pip install django==1.6

目前最新是1.7,但项目使用的包有的不支持,只能使用1.6。

安装 mysql

apt-get install mysql-server

这里安装的5.5.40版本,其中会提示输入root的密码,譬如 60240CC

4、配置uwsgi和nginx

新建了一个/etc/mz_conf/目录,把uwsgi和nginx的配置文件放在它下面。

配置nginx

cp /etc/nginx/uwsgi_params /etc/mz_conf/

在此目录创建nginx.conf

# nginx.conf

# the upstream component nginx needs to connect to
upstream django {
    server unix:///tmp/mz.sock; # for a file socket
    #server 127.0.0.1:8001; # for a web port socket (we'll use this first)
}

# configuration of the server
server {
    # the port your site will be served on
    listen      80;
    # the domain name it will serve for
    server_name 192.168.11.36; # substitute your machine's IP address or FQDN
    charset     utf-8;

    # max upload size
    client_max_body_size 128M;   # adjust to taste

    # Django media
    location /media  {
        alias /var/www/html/media;  # your Django project's media files - amend as required
    }

    location /static {
        alias /var/www/html/static; # your Django project's static files - amend as required
    }

    # Finally, send all non-media requests to the Django server.
    location / {
        uwsgi_pass  django;
        include     /var/www/html/uwsgi_params; # the uwsgi_params file you installed
    }
}

创建符号链接,将nginx.conf链接到 /etc/nginx/conf.d/目录

ln -s /etc/mz_conf/nginx.conf /etc/nginx/conf.d/

注:

(1)使用socket,注意///格式,而且使用的文件要等同于uwsgi配置的文件。

(2)server_name,如是服务器有域名,填域名不会错;若网内测试,可以填IP地址。 填错了,会报404错误。

(3)报403 forbidden错误,需要把上传到html文件夹的内容,修改到755。 我是修改到755的。

配置uwsgi

在/etc/mz_config下建立uwsgi.ini

# uwsgi.ini file
[uwsgi]

# Django-related settings
# the base directory (full path)
chdir           = /var/www/html/
# Django's wsgi file
module          = mz.wsgi:application
# process-related settings
# master
master          = true
# maximum number of worker processes
processes       = 10
# the socket (use the full path to be safe
#socket          = 127.0.0.1:8001
socket		 = /tmp/mz.sock
# ... with appropriate permissions - may be needed
chmod-socket    = 666
# clear environment on exit
vacuum          = true
process		= 4
threads		= 2

写成服务自启动,编辑 /etc/init/uwsgi.conf,并链接到vassals下: ln -s /etc/mz_conf/uwsgi.ini /etc/uwsgi/vassals/

description "uWSGI"
start on runlevel [2345]
stop on runlevel [06]
respawn

env UWSGI=/usr/local/bin/uwsgi
env LOGTO=/var/log/uwsgi-emperor.log

exec $UWSGI --master --emperor /etc/uwsgi/vassals --die-on-term --uid www --gid www --logto $LOGTO

要增加 www用户,命令:adduser www

不输入密码。

增加www组,命令: addgroup www

把www用户加到www组:adduser www www

做成service后,重启uwsgi和nginx,使用 service uwgis restart即可。

时间: 2024-10-13 15:45:08

在ubuntu14.10上安装uwsgi+nginx的相关文章

ubuntu14.10上编译Android5.0.2源码

2015年04月14日 Android 暂无评论 阅读2064次ubuntu14.10上编译Android5.0.2源码 前面一篇文章说到了ubuntu14.10上Android5.0.2源码下载的具体步骤,这篇文章说的是ubuntu14.10上编译Android5.0.2源码的那些事. 1.先安装jdk 这里我使用的是openjdk,网上很多人关于jdk到底使用jdk5.jdk6.jdk7还是openjdk一直在争论不休,我选择的是openjdk7,最终证明是可以编译通过的. sudo apt

[译]How to Install Node.js on Ubuntu 14.04 如何在ubuntu14.04上安装node.js

**原文链接为** [http://www.hostingadvice.com/how-to/install-nodejs-ubuntu-14-04/](http://www.hostingadvice.com/how-to/install-nodejs-ubuntu-14-04/) **由作者Jacob Nicholson 发表于October 27, 2015** **在此对作者表示感谢** Node.js作为一个基于JavaScript的开发平台,正变得越来越流行.许多开发人员都想构建通过

在Windows 10上安装Oracle 11g数据库出现的问题及解决

在Windows 10上安装Oracle 11g数据库,并且很多次出现过:当安装的进度条进行到快要结束的时候弹出一个提示框.如下: [Java(TM)2 Platform Standard Edition binary 已停止工作:出现了一个问题,导致程序停止正常工作.如果有可用的解决方案,Windows 将关闭程序并通知你]的错误提示信息. 最后,发现是因为jdk的安装路径含有中文才导致这一致命的错误,接下来我是这样做的: 1.将整个jdk文件夹移动到某一英文路径. 2.修改环境变量中的系统变

WMware 10 上安装Mac OS X 10.9 系统的正确方法

最近需要在iPad上做一个App,于是想在虚拟机中安装一个OS X 10.9试用一下.经过几十次的尝试趟过很多坑后,终于找到了在WMware 10 上安装Mac OS X 10.9 系统的正确方法.本方法不需要什么U盘,而且由于所有操作都在硬盘上,所以速度也会很快. 需要准备的工具和文件如下: VMware-workstation-full-10.0.1-1379776.exe unlock-all-v130.zip Install OS X Mavericks.dmg(大小为 4.94G) U

ubuntu14.10 LTS安装完成后鼠标闪烁问题

在Ubuntu14.10中对于PC的显卡驱动做了优化,支持能力更强,但是安装之后默认打开了集成显卡和独显(笔记本),所以导致鼠标闪烁. 修复办法:在系统设置-->显示中,选择“未知显示器”,在下方选择“关闭”,点击“应用”即可修复闪烁问题. 当然鼠标消失或者右上角系统菜单看不到的话也可以看看自己的显示器是不是设置问题了. ubuntu14.10 LTS安装完成后鼠标闪烁问题,布布扣,bubuko.com

Ubuntu14.04LTS上安装Pip

pip是一个安装和管理Python包的工具.在Pip的帮助下,你可以安装独特版本的包. 最重要的是,Pip可以通过一个“requirements”的工具来管理一个由包组成的列表和版本号. Pip很像easy_install,但是Pip有一些额外的特色 在Ubuntu14.04上安装Pip 步骤一: 在终端上使用以下命令,来保证你系统上所有的包都是最新的. sudo apt-get update sudo apt-get upgrade 步骤二: 安装Pip 安装python-pip和你所需要的包

在Windows 10 上安装SQL Server 2000数据库

Win10本身是一个兼容性较好的操作系统,目前有很多人在咨询如何在Windows 10 上安装 SQL Server 2000数据库,都没有成功过.主要是卡在了安装过程中的mdac2.6 安装上,一直停这儿不动. 我们根据自己的实践,成功在Window 安装上了 SQL Server 2000数据库标准版,安装成功的关键是“不要”将安装程序设置兼容模式(兼容XP sp2)运行,直接以管理员身份运行SQL Server安装程序即可. 一.更换回旧的SQLUNIRL.DLL 将SQL Server

Ubuntu14.10上搭建Android应用开发环境和系统编译环境

android应用开发环境搭建 Java JDK安装和配置. Android NDK 下载安装配置. Android ADT 下载安装配置. Android SDK 下载. Android Elicpse安装配置. Android Studio 安装配置. ## Oracle JDK 下载安装配置 ## JDK6下载地址: http://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-downloads-

mac os 10.10上安装my eclipse显示virtual memory不足,解决方案

mac os 10.10上安装my eclipse显示virtual memory不足,安装失败. 自从把OS 升级到10.10 之后, 各种问题, 安装的时候向导提示提示我们说没有足够的虚拟内存, 其实不是真的没有, 而是系统的内存还够用, 不让你去分配, 因此无法继续安装,当时我心中一紧, 不会要我降级吧 . 研究了看了一段时间的内存检测之后 ,发现像这种蛋疼问题只要我们耍耍流氓 , 打开十个八个软件, 让系统乖乖的打开虚拟内存就可以了. 如图: