拾豆新闻
  • 文章列表
  • 联系我

文章列表

November 23, 2015

uwsgi方式启动django

没人访问的博客也不是不能升级。不过最近有点懒,趁着睡不着搞了下uwsgi。 额。平台ubuntu, 你最好有个django项目,假设已经用了virtualenv,假设已经安装好nginx并启动服务。

1)首先安装uwsgi:

pip install uwsgi

2)然后启动, 指定端口号和进程号:

uwsgi -s 127.0.0.1:38803 --http :8000 --module blog.wsgi
  1. 配置nginx配置文件,放在/etc/nginx/site-enabled/目录下,注意如果你要用80端口,就不要和其他的例如默认的配置冲突,如果有个default的文件,应该是一个软连接,可以直接删掉。我就直接贴我自己的了:

    upstream django { server 127.0.0.1:38803; }

    server { listen 80; server_name localhost; charset utf-8; client_max_body_size 75M; location / { uwsgi_pass django; include /etc/nginx/uwsgi_params; } location /static { alias /webapps/blog/static; } }

  2. 关于static,你应该在服务器某个地方建个目录(例如我的配置文件是/webapps/blog/static),然后配置一下setting.py里的STATIC_ROOT成该目录,然后每次static有更改就重新执行

    python manage.py collectstatic.

然后尝试一下访问127.0.0.1,当然如果是远程服务器,就是你的网址了。 看看是否work了吧!

October 30, 2015

Linux利用ssh反向端口转发暴露内网端口

从本地Host用SSH连接到目标主机,怎么让目标主机也可以连接本地的SSH呢? 答案很简单,只要把本地主机的SSH端口转发到目标主机即可。可以先查看一下SSH命令的man手册:

man ssh

注意里面的R参数,就是要用到的参数:

-R [bind_address:]port:host:hostport
         Specifies that the given port on the remote (server) host is to be forwarded to the given host and port on the local side.  This works by allocating a socket to listen to port

意思就是把一个远程主机的端口用于本地端口的端口转发。于是对应于假设远程主机IP:192.168.172.11, 本地ssh端口是默认的22,我们可以这样做:

ssh -R 17999:localhost:22 sourceuser@192.168.172.11

这一步完成以后,远程的17999端口会映射到本地主机的22端口,于是我们在远程终端,输入命令:

ssh -p 17999 127.0.0.1

这样就很方便的又重新连接到了本地的ssh。同样的技巧可以用于一些暴露本地端口的操作,例如你身处一个局域网里,且没有权限去操作路由。你却想要暴露一个本机的ip,比如说80,让远程的主机访问你的http服务,用同样的方式可以很轻易的做到。

October 29, 2015

Tmux的复制和黏贴

tmux确实是一个吊炸的东西,功能和那个和他类似的鼻祖screen相比,确实多出了不少。比如他又一个可以对终端的内容进行复制和黏贴的功能。 这里假定你设置的快捷键前缀是Ctrl+a: 进行复制的操作是:

  1. Ctrl+a [ 开始复制
  2. 把光标移动到开始复制的位置(上下左右键,或者Ctrl+n/p/b/f键移动光标)
  3. Ctrl+Space 开始选择内容,类似vim的按下V的效果
  4. 完成选择,Alt+w 完成复制
  5. 然后到你想要黏贴的地方, Ctrl+a ] 黏贴成功

需要注意的是, Ctrl+space在windows和linux的某些桌面环境下,都是输入法切换键,所以如果这个方法不成功,很可能是因为快捷键冲突的原因了。那么解决方法一个是把冲突的快捷键解决掉,另一个这是通过配置.tmux.conf。其实上面的快捷键默认的快捷键,模仿的按键是emacs,因为我不用emacs(因为我不用emacs,所以也只觉得很不习惯),其实还有另外的一种快捷键模式是模仿vim的,不过需要你在tmux配置文件里配置一下, 把下面这行加入.tmux.conf里:

set-window-option -g mode-keys vi

设置成这样以后,重新载入配置(可以用ctrl+a :然后输入source-file ~/.tmux.conf.

然后复制黏贴的操作就变成了:

  1. Ctrl+a [ 开始复制
  2. 把光标移动到开始复制的位置(上下左右键,或者Ctrl+n/p/b/f键移动光标)
  3. Space 开始选择内容,类似vim的按下V的效果
  4. 完成选择,Enter 完成复制
  5. 然后到你想要黏贴的地方, Ctrl+a ] 黏贴成功
  • ««
  • «
  • 6
  • 7
  • 8
  • 9
  • 10
  • »
  • »»
© 拾豆新闻 2025