美文网首页
2019-05-11

2019-05-11

作者: baixuetang11 | 来源:发表于2019-05-12 00:03 被阅读0次

    nginx使用验证,分别在windows,ubuntu下运行

    1、windows中安装虚拟环境,建立虚拟环境,确保各模块相互兼容

    会让使用虚拟环境更加方便

    pip install virtualenv

    pip install virtualenvwrapper  # 这是对virtualenv的封装版本,一定要在virtualenv后安装

    sudo pip3 install virtualenvwrapper

    sudo pip2 install virtualenvwrapper

    如果国外的源太慢了,可以换成国内的镜像,只需要加上地址就行

    sudo pip2 install -i https://pypi.douban.com/simple virtualenvwrapper

    mkvirtualenv -p python2 py2

    rmvirtualenv py2#删除虚拟环境

    activate # 启动虚拟环境

    deactivate # 退出虚拟环境

    然后在虚拟环境中安装django

    django.core.exceptions.ImproperlyConfigured: mysqlclient 1.3.13 or newer is required; you have 0.9.3.

    直接把django版本降一下pip3 install Django==1.11.4

    windows下载nginx (http://nginx.org/en/download.html) (https://blog.csdn.net/kingscoming/article/details/79042874)

    解压后保存在D:\nginx-1.14.2

    步骤如下https://blog.csdn.net/kingscoming/article/details/79042874

    1.下载Nginx文件包解压免安装

    http://nginx.org/

    (在ubuntu中直接使用sudo apt-get install nginx)

    2.Nginx配置

    找到 conf 目录里的 nginx.conf 文件,配置Nginx

    2.1.基本配置如下:

    我在原来配置文件中增加了如下

    upstream djangos {

    server 127.0.0.1:8001;

    server 127.0.0.1:8002;

    }

    2.2.server配置

    然后在server增加

    location / {

    proxy_pass_header Server;

    proxy_set_header Host $http_host;

    proxy_set_header myhead 'myhead';

    proxy_redirect off;

    proxy_set_header X-Real-IP $remote_addr;

    proxy_set_header X-Scheme $scheme;

    proxy_pass http://djangos;

    }

    3.启动Nginx

    注意不要直接双击nginx.exe,这样会导致修改配置后重启、停止nginx无效,需要手动关闭任务管理器内的所有nginx进程

    cmd 进入Nginx解压目录 执行以下命令

    start nginx : 启动nginx服务

    nginx -s reload  :修改配置后重新加载生效

    nginx -s reopen  :重新打开日志文件

    nginx -t -c /path/to/nginx.conf 测试nginx配置文件是否正确

    启动后如何检查是否启动成功呢? 输入命令 tasklist /fi "imagename eq nginx.exe"  看到以下信息说明启动成功了

    一切就绪,访问一下server 里配置的 server_name 是不是被重定向到 upstream配置的服务器上了,是不是很简单!

    4.nginx常用命令:

    验证配置是否正确: nginx -t

    查看Nginx的版本号:nginx -V

    启动Nginx:start nginx

    快速停止或关闭Nginx:nginx -s stop

    正常停止或关闭Nginx:nginx -s quit

    配置文件修改重装载命令:nginx -s reload

    开启nginx后,然后在开jdango:python manage.py runserver 0.0.0.0:8001  python manage.py runserver 0.0.0.0:8002

    然后在网页中http://192.168.56.1/books/show/ 直接访问成功,而且不需要带地址,因为它会自动由nginx转到8001与8002中,到此成功

    5.常见错误

    如果启动失败 可以看下logs目录下 error.log 文件里的错误信息。

    我在第一次安装的时遇到两个错误,也是最容易碰到的问题,在这里列出来方便大家碰到相同的问题时快速解决。

    1.端口占用问题

    我的配置文件里服务侦听的是 80 端口,由于机器上部署了IIS,80端口被默认站点占用,把站点关闭就可以了,这个问题在错误日志里记录是这样的。

    2015/01/15 10:44:12 [emerg] 8800#5988: bind() to 0.0.0.0:80 failed (10013: An attempt was made to access a socket in a way forbidden by its access permissions)我解决方法,把IIS信息服务关闭,然后重启即可

    碰到类似的错误,请确认端口是否被占用或被防火墙屏蔽

    2019-05-12按照如上方法对django_test01在python3环境下运行成功

    遇到nginx每次启动出现错误,需要将nginx重装:

    2019-05-12删除nginx(ubuntu) https://chubuntu.com/questions/51656/nginx-cant-purge-on-ubuntu-16-04.html

    编辑:

    由于问题无法以这种方式解决且问题是由 nginx-core 引起的,您可以尝试通过执行以下操作手动修复问题:

    sudo apt -f remove nginx-core

    为此: sudo apt -f remove nginx-full

    然后从 sudo apt autoremove --purge 。

    开始,完成上述步骤   

    然后重新安装nginx

    sudo apt-get install nginx

    sudo service nginx start

    service nginx status

    在windows中cmd把文件上传到ubuntu中

    D:>pscp -P 22 D:\tangpython\webapp.py ubuntu@139.199.66.32:/home/ubuntu

    D:>pscp -P 22 D:\tangpython\wsgi_server.py ubuntu@139.199.66.32:/home/ubuntu

    然后在ubuntu中使用python wsgi_server.py,然后浏览器中139.199.66.32:8080即可访问成功,返回hello world(完全与windows一致)

    相关文章

      网友评论

          本文标题:2019-05-11

          本文链接:https://www.haomeiwen.com/subject/rnwfaqtx.html