nginx均衡负载 反向代理 动手玩儿

nginx的均衡负载其实很简单。加入如下代码之后再重新加载配置就可完成。 ###!!!#### upstream www.example.com{ #不写为默认的轮询,其他的方式还有一下3种,加起来就是一共四种方式 #ip_hash; #fair; #url_hash; server 192.168.122.100; server 192.168.122.101; server 127.0.0.1 backup; } ###!!!### server { listen 8899; location / { proxy_pass http://www.example.com; } } 其中192.168.122.100和192.168.122.101是局域网中另外两台。 web测试是用的8899端口,使用的是默认的轮询. 更详细的内容可以参看这里

nginx脚本之增加virtual host

这是依据lnmp的vhost 改写而成。 1脚本适用于archlinux下通过yaourt安装的lnmp环境。 2修改一些逻辑顺序。 3调整每个vhost的日志到单独文件夹到 /var/log/nginx/xxx/access.xxx.log and /var/log/nginx/xxx/error.xxx.log. 4为每个vhost增加单独error log 5修改hosts,绑定新增的网站解析到本地 #!/bin/bash # Check if user is root if [ $(id -u) != “0” ]; then echo “Error: You must be root to run this script, use sudo sh $0” exit 1 fi clear if [ “$1” != “–help” ]; then read -p “(Please input […]

bash脚本之管理web server

#!/bin/bash function startWebServer(){ sudo systemctl start php-fpm echo ‘start php DONE’ sudo systemctl start nginx echo ‘start nginx DONE’ sudo systemctl start mysqld echo ‘start mysqld DONE’ } function stopWebServer(){ sudo systemctl stop php-fpm echo ‘stop php DONE’ sudo systemctl stop nginx echo ‘stop nginx DONE’ sudo systemctl stop mysqld echo ‘stop mysqld DONE’ } […]

nginx 使用过程中的问题汇总

重装了之后今天想起把nginx+fastcgi php装上,遇到了一些小问题.记录如下,以后遇到问题了也会不定时更新. No input file specified 看了看error log是说: Unknown: open_basedir restriction in effect. File(/usr/share/nginx/html/index.php) is not within the allowed path(s): (/srv/http/:/home/:/tmp/:/usr/share/pear/:/usr/share/webapps/) in Unknown on line 0 修改了一下nginx的root dir或者把现有的路径写进php.ini就可以了.

nginx代理Django访问静态文件static时返回403

这两天在搞Django,访问动态文件的时候很正常长,通过Nginx的代理带访问fcgi都没问题,但是比如访问css,jpg的时候就访问了,查看nginx的error之后看到是403就是返回没有权限,于是就改吧。我是吧这个文件放在Home下的子文件夹中的。于是就相当与个人用户吧。 然后用 ./manage.py runfcgi daemonize=false host=127.0.0.1 port=8005 开启python的fcgi的解析. 在nginx中添加python的代理本地环境域名也是解析到本地,注意这里python的解析我是用的端口而没有用socket. upstream mysite { #server unix:/tmp/uwsgi.sock; # use Unix socket server 127.0.0.1:8005; # uncomment to use a port instead } server { listen 80; server_name python.codewalker.com; autoindex on; location /static { alias /path/to/static; } location / { proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_redirect off; proxy_pass http://mysite;#这是重点 […]

nginx 图片防盗链本地测试

今晚闲来无事学习了一下nginx的防盗链或者准确的说是防止非指定域名访问。 测试中出现的域名均为本地测试不用去访问了。 核心代码如下:         location ~* .(gif|jpg|png|swf|flv)$ {             valid_referers none blocked codewalker.com ;             if ($invalid_referer) {                 rewrite ^/ http://codewalker.com:8080/234_s.gif;                 #return 404;       […]

cat /etc/nginx/conf/nginx.conf

{codewalker}<=Sat Mar 10-11:27 PM=> ==>/etc/nginx/conf<== =>$cat nginx.conf user codewalker http; worker_processes  4; #error_log  logs/error.log; #error_log  logs/error.log  notice; #error_log  logs/error.log  info; #pid        logs/nginx.pid; events {     worker_connections  1024; } http {     include       mime.types;     default_type  application/octet-stream;     #log_format  main  ‘$remote_addr – $remote_user [$time_local] “$request” ‘ […]