精华内容
下载资源
问答
  • 项目开发过程中,几个同事负责一个项目,然后本人对项目进行了一些修改,别的同事想要查看效果,直接使用Nginx进行代理,同事就能访问我在本地运行的项目。具体过程如下: 1.下载Nginx完成安装,修改nginx.conf...

    在项目开发过程中,几个同事负责一个项目,然后本人对项目进行了一些修改,别的同事想要查看效果,直接使用Nginx进行代理,同事就能访问我在本地运行的项目。具体过程如下:

    1.下载Nginx完成安装,修改nginx.conf文件。

    server {
    		listen  1234; // 监听端口,自己设置
    		server_name  192.168.3.68; // 本机ip地址
    	 
    		location / {
    			proxy_pass http://localhost:9527;  // vue项目run dev访问地址
    		}
    	}
    

    2.修改Vue配置文件,使用本机ip地址(我的是192.168.3.68)访问后端。
    在这里插入图片描述
    上面是我的项目文件结构,直接修改config/dev.env.js

    3.修改防火墙设置。
    在这里插入图片描述
    4.启动Nginx,使用start nginx命令。
    在这里插入图片描述
    5.浏览器直接输入Nginx配置文件中自己配置的地址进行访问即可(我的是http://192.168.3.68:1234)。

    展开全文
  • 使用runserver可以使我们的django项目很便捷的在本地运行起来,但这只能在局域网访问,如果在生产环境部署django,就要多考虑一些问题了。比如静态文件处理,安全,效率等等,本篇文章总结归纳了一下基于uwsgi+...

    使用runserver可以使我们的django项目很便捷的在本地运行起来,但这只能在局域网内访问,如果在生产环境部署django,就要多考虑一些问题了。比如静态文件处理,安全,效率等等,本篇文章总结归纳了一下基于uwsgi+Nginx下django项目生产环境的部署

    准备条件:

    1

    2

    1.确保有一个能够用runserver正常启动的django项目

    2.项目已上传到linux <br>3.linux上已部署好python环境,且已安装好项目所需的模块

    安装uwsgi

      uwsgi是python的一个模块,安装uwsgi只需简单的pip命令就可以了

    1

    pip3 install uwsgi

    基于uwsgi+django的实现

     1.使用命令启动uwsgi

      第一步:进入django项目

      第二步:命令测试启动

    1

    uwsgi --http 192.168.31.123:8080 --file teacher/wsgi.py --static-map=/static=static

      

      参数说明:

    --http 这个就和runserver一样指定IP 端口
    --file 这个文件就里有一个反射,如果你在调用他的时候没有指定Web Server就使用默认的
    -- static 做一个映射,指定静态文件

      此时,访问http://192.168.2.108:8080/,如图所示,表示项目启动成功

    2.使用uwsgi配置文件启动django项目

    第一步:在django项目同级目录创建script目录,用于存放配置脚本等等

    第二步:进入/script目录,创建一个uwsgi.ini文件

      编辑uwsgi.ini文件内容如下:

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    24

    25

    26

    27

    28

    29

    30

    31

    32

    # uwsig使用配置文件启动

    [uwsgi]

    # 项目目录

    chdir=/opt/proj/teacher/

    # 指定项目的application

    module=teacher.wsgi:application

    # 指定sock的文件路径       

    socket=/opt/proj/script/uwsgi.sock

    # 进程个数       

    workers=5

    pidfile=/opt/proj/script/uwsgi.pid

    # 指定IP端口       

    http=192.168.2.108:8080

    # 指定静态文件

    static-map=/static=/opt/proj/teacher/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=/opt/proj/script/uwsgi.log

      启动项目:

      访问192.168.2.108:8080,启动成功

     

     至此,uwsgi+django就完美结合了,但是,光有uwsgi还不够,uwsgi处理动态请求能力高,但对于静态请求(如static文件,css,js文件等)处理能力差,此时就要结合nginx一起使用

    安装nginx

    第一步:配置yum源

    1

    vim /etc/yum.repos.d/nginx.repo

     文件内容如下,wq保存退出

    第二步:安装nginx

    1

    yum -y install nginx

       测试是否安装完成,命令启动nginx

    1

    /etc/init.d/nginx start

      

     打开浏览器,访问192.168.2.108出现如下页面即代表nginx安装完成且可以正常启动

    第三步:Django + Uwsgi + Nginx

       首先创建配置文件,nginx的默认配置目录为/etc/nginx/conf.d

    1

    cd /etc/nginx/conf.d/

      

      创建teacher.conf文件

    配置内容如下:

    server { # 这个server标识我要配置了
    listen 80; # 我要监听那个端口
    server_name 192.168.2.108 ; # 你访问的路径前面的url名称 
    access_log /var/log/nginx/access.log main; # Nginx日志配置
    charset utf-8; # Nginx编码
    gzip_types text/plain application/x-javascript text/css text/javascript application/x-httpd-php application/json text/json image/jpeg image/gif image/png application/octet-stream; # 支持压缩的类型

    error_page 404 /404.html; # 错误页面
    error_page 500 502 503 504 /50x.html; # 错误页面

    # 指定项目路径uwsgi
    location / { # 这个location就和咱们Django的url(r'^admin/', admin.site.urls),
    include uwsgi_params; # 导入一个Nginx模块他是用来和uWSGI进行通讯的
    uwsgi_connect_timeout 30; # 设置连接uWSGI超时时间
    uwsgi_pass unix:/opt/proj/script/uwsgi.sock; # 指定uwsgi的sock文件所有动态请求就会直接丢给他
    }

    # 指定静态文件路径
    location /static/ {
    alias /opt/proj/teacher/static/;
    index index.html index.htm;
    }

    }

     最后一步,重启nginx

    1

    /etc/init.d/nginx restart

     

      浏览器访问192.168.2.108,出现如下页面表示启动成功

      nginx相关命令

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    # 启动Nginx通过Nginx访问

        /etc/init.d/nginx start

        /etc/init.d/nginx stop

     

        # 这里有个命令configtest,Nginx配置是重启生效的,如果你修改完了,不知道对    不对又担心影响其他人可以使用它测试

        /etc/init.d/nginx configtest

     

        # 如果是生产环境的话Nginx正在运行,就不要直接stop start 或者 restart  直接reload就行了

        # 对线上影响最低

        /etc/init.d/nginx reload 

      

       至此,Django + Uwsgi + Nginx 的生产环境部署就完成了

    展开全文
  • 使用runserver可以使我们的django项目很便捷的在本地运行起来,但这只能在局域网访问,如果在生产环境部署django,就要多考虑一些问题了。比如静态文件处理,安全,效率等等,本篇文章总结归纳了一下基于uwsgi+...

    之前对于django的部署写过一个csdn,但是有人说太过笼统,不够细致,这一篇关于django部署在uwsgi和nginx的详细介绍,希望可以帮助大家,

     

    使用runserver可以使我们的django项目很便捷的在本地运行起来,但这只能在局域网内访问,如果在生产环境部署django,就要多考虑一些问题了。比如静态文件处理,安全,效率等等,本篇文章总结归纳了一下基于uwsgi+Nginx下django项目生产环境的部署

    准备条件:

    1.确保有一个能够用runserver正常启动的django项目,即命令:python manage.py runserver

    2.项目已上传到linux,并且已部署好python环境,且已安装好项目所需的模块

    Uwsgi的安装:

    1.安装命令:pip3(因为我用的是python3.5.2)  install  uwsgi

    2.在django项目的同一级目录下创建一个uwsgi.ini文件,创建命令:sudo vi uwsgi.ini

    3.在uwsgi.ini中编辑配置信息如下:

    chdir = /home/python/Desktop/django_test/fang        # 指向了项目目录,我这里的fang是项目
    module = fang.wsgi                                                    # 项目名称.wsgi
    master = true
    processes = 10
    chmod-socket = 664
    vacuum = true
    socket = 127.0.0.1:8001                                             # 这个是被访问地址,十分重要,因为后续的nginx访问后端链接地址就是                                                                                      这个地址,而不是http地址,必须注意,否则nignx的log就会显示以下错误:

    upstream prematurely closed connection while reading response header from upstre    am, client: 127.0.0.1, server: localhost, request: "GET / HTTP/1.1", upstream: "uwsgi://127.0.0.1:8080", host: "127.0.0.1"


    http = 127.0.0.1:8080
    max_execution_time = 300s
    uwsgi_connect_timeout = 300s
    plugin=python
    proxy_http_version 1.1
    proxy_set_header Connection ""
    pythonpath = ~/.virtualenvs/django_py3/lib/python3.5.2/site-packages/

    4.配置完成后进行这个uwsgi所在的目录下,通过命令:uwsgi --ini uwsgi.ini进行项目启动,成功后如下显示:

    5.访问http地址(127.0.0.1:8080,根据自己的实际地址)可以访问到项目页面就是成功配置uwsgi和django了

    如下图,我的测试项目返回了预先写好的hello1

    Nginx的安装:

    1.通过命令sudo apt-get install nginx来安装nginx

    2.进行nginx的安装成功与否的测试,默认是80端口,本机IP是127.0.0.1

    /etc/init.d/nginx start --启动

    /etc/init.d/nginx stop --关闭

    /etc/init.d/nginx restart --重新启动

    3.配置 *.conf文件,这个文件的名字随意,我习惯于使用项目名称,也有人喜欢使用nginx.conf,我是用fang.conf这样的好处是进行项目区别,和默认的nginx的区别

    (1):进行项目目录下,通过命令sudo vi fang.conf创建fang.conf文件

    (2):进行fang.conf文件的配置如下:

               注意:①以下的路径,大家按照项目的实际绝对路径写就可以了

                          ②以下的upstream django的配置中的地址要和刚才在uwsgi.ini中的socket配置一致,否则就会出现我说过的那种错误,好多人出了那个错误,却不知道问题的根源在这里,尤其是初学者

        

    4.通过命令sudo ln -s /home/python/Desktop/django_test/fang/fang.conf  /etc/nginx/conf.d 进行软连接,

    5,通过命令:/etc/init.d/nginx restart 重启nginx服务器,然后通过80端口访问,可以得到对应的数据信息,说明配置成功了,如下图的80端口的显示:

    注意::

    以上配置成功了,如果你的nginx开启时出现了如下错误:

    那说明fang.conf配置文件有错误,具体错误可以查看log,先进入到/var/log/nginx/目录下,然后打开log,sudo vi error.log文件产看错误原因,当然也有可以能是/etc/nginx/sites-enabled文件中进行软连接,可以进行删除里边的*.conf文件,或者con.d文件夹下的default文件没有删除,具体还需要查看log,还有其他问题,欢迎留言!

     

     

     

     

     

    展开全文
  • 如:我的本地项目地址是 http://192.168.30.11/api/login 三:用Mac的地址替换掉127.0.0.1 如:替换后是 http://192.168.30.11:8888/api/login 配置nginx/apache是80端口 但有时可能请求不到 所以监听...

    主要分为三个步骤:
    一:获取本地Mac ip地址

    如:192.168.30.11

    二:项目的地址

    如:我的本地项目地址是

    http://192.168.30.11/api/login

    三:用Mac的地址替换掉127.0.0.1

    如:替换后是 

    http://192.168.30.11:8888/api/login

    配置nginx/apache是80端口 但有时可能请求不到 所以监听端口需要修改成特有的

     

    展开全文
  • 一、如何在手机上访问本地PC端项目; 如果你服务用的nginx的话,你可以这样做: 1、首先你得确保手机和电脑在同一个局域网内。 2、打开nginx/conf/nginx.conf。在http字段里面添加如下 autoindex on; autoindex...
  • 首先,将虚拟机的网络设置成桥接模式(即,当nginx设置虚拟机ip为项目链接时,局域网的其它用户可以通过此ip访问项目,也就实现了真正的部署) 接着配置自己的uwsgi(这里部署步骤简单带过,网上有教程) setting ...
  • 本地调试用127.0.0.1 访问是没问题的, 但在本机用局域网ip访问, 就不通, 发布到服务器, 用nginx做代理, 也是不通, 确定的是前端请求已经到达后台代码了. 我想可能是nginx配置的问题 或者是请求到达服务器nginx之前...
  • 大体思路:由于我搭建的是仅供局域网访问的网站,所以不需要服务器和域名,只需要一台Ubuntu系统的电脑就行。我用的是ubuntu16.04LTS系统,带有图形界面。 web服务器选用nginxNginx是一款轻量级的Web服务器(通过...
  • centos下安装架设thinkphp3.2.3 说明 centos系统IP地址:192.168.0.10 web服务器:nginx ...本地使用虚拟域名:api.lx.cx 搭建过程 将下载下来的压缩包 thinkphp_3.2.3_full.zip 解压出来 将解压出来的 t
  • 下面开始调查问题,为什么本地win访问成功,但是同一局域网的同台电脑上虚拟机linux访问失败呢? 先排除并发导致的问题,将线程和时间调小,调短,发现还是100%错误,查看服务,正在运行状态,说明不是压力太大,...
  • 使用runserver可以使我们的django项目很便捷的在本地运行起来,但这只能在局域网访问,如果在生产环境部署django,就要多考虑一些问题了。比如静态文件处理,安全,效率等等,本篇文章总结归纳了一下基于uwsgi+...
  • 使用runserver可以使我们的django项目很便捷的在本地运行起来,但这只能在局域网访问,如果在生产环境部署django,就要多考虑一些问题了。比如静态文件处理,安全,效率等等,本篇文章总结归纳了一下基于uwsgi+...
  • 使用runserver可以使我们的django项目很便捷的在本地运行起来,但这只能在局域网访问,如果在生产环境部署django,就要多考虑一些问题了。比如静态文件处理,安全,效率等等,本篇文章总结归纳了一下基于uwsgi+...
  • 使用runserver可以使我们的django项目很便捷的在本地运行起来,但这只能在局域网访问,如果在生产环境部署django,就要多考虑一些问题了。比如静态文件处理,安全,效率等等,本篇文章总结归纳了一下基于uwsgi+...
  • Centos 7+Django + Uwsgi + Nginx 的生产...使用runserver可以使我们的django项目很便捷的在本地运行起来,但这只能在局域网访问,如果在生产环境部署django,就要多考虑一些问题了。比如静态文件处理,安全,效...
  • 思路:使用runserver可以使我们的django项目很便捷的在本地运行起来,但是这只能在局域网访问。正式环境部署的话比较安全,而且静态文件的处理方式会比较友好。nginx作为服务器的最前端,负责接收client的所有请求...
  • Django+uWSGI+Nginx的生产环境部署

    千次阅读 2017-09-12 10:38:36
    使用runserver可以使我们的django项目很便捷的在本地运行起来,但这只能在局域网访问,如果在生产环境部署django,就要多考虑一些问题了。比如静态文件处理,安全,效率等等,本篇文章总结归纳了一下基于uwsgi+...
  • 使用runserver可以使我们的django项目很便捷的在本地运行起来,但这只能在局域网访问,如果在生产环境部署django,就要多考虑一些问题了。比如静态文件处理,安全,效率等等,本篇文章总结归纳了一下基于uwsgi+...
  • 以前的项目上传的文件都是保存到本地或者是局域网内的共享文件夹下,由于数据量,服务器的负载均衡(分机的某些图片无法访问的问题处理)等因素的情况下,就想到用fastdfs来文件管理,花了几天时间硬着头皮去学习怎样...
  • 最近做客户统计,涉及到统计用户所在地,网上很多例子获取用户的真实ip,但是我们的服务器使用的是nginx... 获取到用户的ip是192.168.x.x,这是因为项目本地跑, 而本地使用的是局域网,如果把项目放在公网服务器上..
  • 我们项目是一个App调用的是http协议的接口 接口是在nginx+tomcat下部署的 现在许需开发微信小程序 小程序必须用到https协议的接口 我们这边买了ssl证书已成功在nginx下部署 小程序已可以访问https协议接口 但是小...
  • upupw一键绿色免安装环境包 ...任务就是要把我电脑上的项目test.com提供给公司局域网同事访问,如果是apache的话,前面的wampserver已经讲过了。 1,改本地host解析,我IP是192.168.1.248 host 127.0.0.1 test.com...
  • 然而在使用手机连接局域网之后访问该网页,突然发现websocket中的onopen事件失效没有执行,就直接执行了onclose事件。 解决 解决方案有很多中,例如使用一些大神封装好的组件、配合后端使用心跳机制、nginx反向...

空空如也

空空如也

1 2
收藏数 29
精华内容 11
关键字:

本地局域网访问nginx项目