当前位置:  操作系统/服务器>linux
本页文章导读:
    ▪nginx中配置https加密站点      一、Nginx安装 安装时注意加上 –with-http_ssl_module,http_ssl_module不属于Nginx的基本模块。 Nginx安装方法:   代码如下: ./configure –user=username –group=groupname –prefix=/usr/local/nginx –with-http_stub_sta.........
    ▪nginx上运行symfony的配置      介绍: 配置的重点在server这个node上,其他用nginx默认配置就行,这里就只写出server那一块的配置。因为symfony需要一些php $_SERVER里的变量来做路由,但是nginx赋给php的$_SERVER值并不是完全正确.........
    ▪nginx配置codeigniter去掉index.php的方法      在nginx.conf中加入如下配置:   代码如下: server {     listen 80;     server_name yourservername;         location / {        root /your/root/path/;        index index.php index.html index.htm;      .........

[1]nginx中配置https加密站点
    来源: 互联网  发布时间: 2013-12-24

一、Nginx安装
安装时注意加上 –with-http_ssl_module,http_ssl_module不属于Nginx的基本模块。
Nginx安装方法:
 

代码如下:
./configure –user=username –group=groupname –prefix=/usr/local/nginx –with-http_stub_status_module –with-http_ssl_module
make && make install

二、生成证书(略)
可以使用openssl或ca.ssl生成,结果生成如下两个文件:
server.crt
server.key

如果是apache,直接将这两个文件引入到httpd.conf中,而Nginx需要的是.pem文件。.pem的生成方法很简单,就是合并server.crt、server.key的内容。

三、修改Nginx配置:
 

代码如下:
server
{
listen 443;
server_name test.sina.com.cn;
ssl on;
ssl_certificate /tmp/server.pem;
ssl_certificate_key /tmp/server.key;
ssl_session_timeout 5m;
ssl_protocols SSLv2 SSLv3 TLSv1;
ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
ssl_prefer_server_ciphers on;
}
 

到此,完成了nginx中https的简单配置,更为复杂的ssl配置,请查阅更多资料。


    
[2]nginx上运行symfony的配置
    来源: 互联网  发布时间: 2013-12-24

介绍:
配置的重点在server这个node上,其他用nginx默认配置就行,这里就只写出server那一块的配置。因为symfony需要一些php $_SERVER里的变量来做路由,但是nginx赋给php的$_SERVER值并不是完全正确的,我也是查了不少资料才调好的,希望能对想让symfony在nginx上跑的同学有所帮助。
 

代码如下:
http {
  ...
  server {
    listen      80; #nginx的端口
    server_name localhost; #网站网址,这里以localhost为例
    root        /path/to/root; #根目录路径
    chareset    utf-8;
    location /sf/ { #如果url匹配"/sf/"
      alias /path/to/symfony/data/web/sf/; #访问/sf下面的资源所在的目录
    }
    location ~ ^/.+\.php(/.*)?$ { #如果匹配类似/frontend_dev.php/*这样的
      set $script $fastcgi_script_name; #像/frontend_dev.php这样的url,直接把$fastcgi_script_name赋值给$script
      if ($document_uri ~ ^(.+\.php)(/.*)) { #如果又匹配/frontend_dev.php/article/1这样的
        set $script    $1; #把frontend_dev.php赋值给$script
        set $path_info $2; #把/article/1赋值给$path_info,如果用nginx默认的配置,$_SERVER['path_info']会不正确而导致symfony找不到正确的路由
      }
      fastcgi_pass  127.0.0.1:9000; #php-cgi服务
      #下面开始给php的$_SERVER相关变量赋值,不写对都有可能运行不了symfony
      include       fastcgi_params; #这里面有很多nginx默认给php的$_SERVER赋的环境变量值,
                                    #如果你想要把这句放后面的话,下面已经赋过值的记得注释掉,否则又被覆盖回原来的错误值
      fastcgi_param SCRIPT_FILENAME $document_root$script;
      fastcgi_param SCRIPT_NAME     $script;
      fastcgi_param PATH_INFO       $path_info;
      fastcgi_param DOCUMENT_URI    $document_uri;
     
    }
    location / { #当前面的规则都不匹配,就运行这个(剩下的url肯定都匹配/)
      if (-f $request_filename) { #如果资源(像css,js这样的文件)和请求的url是匹配的,也就是说能根据url直接找到
        expires max; #那就永不过期
        break;       #并且不往下执行了
      }
      #否则得话都给他rewrite到index.php上去
      rewrite .* /index.php last;
    }
  }
}

    
[3]nginx配置codeigniter去掉index.php的方法
    来源: 互联网  发布时间: 2013-12-24

在nginx.conf中加入如下配置:
 

代码如下:

server {
    listen 80;
    server_name yourservername;
   
    location / {
       root /your/root/path/;
       index index.php index.html index.htm;
       if (-f $request_filename) {
         expires max;
         break;
       }

       #if (!-e $request_filename) {
       #    rewrite ^/(.*)$ /index.php/$1 last;
       #}
        if ($request_filename !~ (js|css|images|robots/.txt|index/.php.*) ) {
            rewrite ^/(.*)$ /index.php/$1 last;
            break;
        }
    }
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
    location ~ \.php($|/) {
        root           /your/root/path;
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        fastcgi_param  PATH_INFO  $fastcgi_path_info;
        fastcgi_split_path_info ^(.+\.php)(.*)$;
        include fastcgi_params;
    }
}
 

然后,在codeigniter项目的application/config/config.php中配置$config['index_page'] = '';,刷新页面即可看到修改后的效果。


    
最新技术文章:
▪linux系统中的列出敏感用户的脚本代码
▪a10 config backup for aXAPI
▪一键备份gitolite服务器的Shell脚本
▪nagios 分发文件实现代码
▪阿里云云服务器Linux系统更新yum源Shell脚本
▪一个监控LINUX目录和文件变化的Shell脚本分享
▪Linux下实现SSH免密码登录和实现秘钥的管理、...
▪Shell正则表达式之grep、sed、awk实操笔记
▪3个备份系统文件并邮件发送的Shell脚本分享
▪CentOS 6.3下给PHP添加mssql扩展模块教程
▪监控网站是否可以正常打开的Shell脚本分享
▪shell脚本编程之if语句学习笔记
▪shell脚本编程之循环语句学习笔记
▪shell脚本编程之case语句学习笔记
▪Shell脚本实现的阳历转农历代码分享
▪Shell脚本实现复制文件到多台服务器的代码分...
▪Shell脚本实现批量下载网络图片代码分享
▪Shell脚本实现检测文件是否被修改过代码分享
▪Shell脚本数组用法小结
▪Shell脚本批量重命名文件后缀的3种实现
▪C语言实现的ls命令源码分享
▪Linux下查找后门程序 CentOS 查后门程序的shell脚...
▪Shell 函数参数
▪linux shell 自定义函数方法(定义、返回值、变...
▪Shell实现判断进程是否存在并重新启动脚本分...
▪Shell脚本break和continue命令简明教程
▪Shell脚本函数定义和函数参数
▪让代码整洁、过程清晰的BASH Shell编程技巧
▪shell常用重定向实例讲解
▪awk中RS、ORS、FS、OFS的区别和联系小结
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3