6月7日任務 Nginx安裝、 默認虛擬主機、Nginx用戶認證、Nginx域名重定向

12.6 Nginx安裝php

1. wget http://nginx.org/download/nginx-1.12.1.tar.gz   //下載安裝包html

2. tar -zxvf nginx-1.12.1.tar.gz    //解壓文件linux

3.  ./configure --prefix=/usr/local/nginx   //配置nginx

4.  make && make install   //編譯安裝git

5.  設置啓動文件  apache

#!/bin/bash
# chkconfig: - 30 21
# description: http service.
# Source Function Library
. /etc/init.d/functions
# Nginx Settings
NGINX_SBIN="/usr/local/nginx/sbin/nginx"
NGINX_CONF="/usr/local/nginx/conf/nginx.conf"
NGINX_PID="/usr/local/nginx/logs/nginx.pid"
RETVAL=0
prog="Nginx"
start() 
{
    echo -n $"Starting $prog: "
    mkdir -p /dev/shm/nginx_temp
    daemon $NGINX_SBIN -c $NGINX_CONF
    RETVAL=$?
    echo
    return $RETVAL
}
stop() 
{
    echo -n $"Stopping $prog: "
    killproc -p $NGINX_PID $NGINX_SBIN -TERM
    rm -rf /dev/shm/nginx_temp
    RETVAL=$?
    echo
    return $RETVAL
}
reload()
{
    echo -n $"Reloading $prog: "
    killproc -p $NGINX_PID $NGINX_SBIN -HUP
    RETVAL=$?
    echo
    return $RETVAL
}
restart()
{
    stop
    start
}
configtest()
{
    $NGINX_SBIN -c $NGINX_CONF -t
    return 0
}
case "$1" in
  start)
        start
        ;;
  stop)
        stop
        ;;
  reload)
        reload
        ;;
  restart)
        restart
        ;;
  configtest)
        configtest
        ;;
  *)
        echo $"Usage: $0 {start|stop|reload|restart|configtest}"
        RETVAL=1
esac
exit $RETVAL瀏覽器

6. chmod 755 /etc/init.d/nginx    //設置權限緩存

7. chkconfig --add nginx     chkconfig  nginx  on    //設置開機啓動bash

8. cd /usr/local/nginx/conf/nginx.conf    //配置文件url

配置文件見: 

https://coding.net/u/aminglinux/p/aminglinux-book/git/blob/master/D15Z/nginx.conf?public=true

/usr/local/nginx/sbin/nginx -t    //檢測語法是否正確

9.  /etc/init.d/nginx start   //啓動

 注 :  若是解析不了php  請檢查配置文件 與php-rpm一致    

 

 

12.7 Nginx默認虛擬主機

1. 配置文件增長 include vhost/*.conf;    刪除虛擬主機默認配置信息     //定義配置虛擬主機

2. 建立 vhost目錄 和vhost.conf     

3. 編輯vhost.conf

server

{

    listen 80 default_server;  // 有這個標記的就是默認虛擬主機

    server_name aaa.com;

    index index.html index.htm index.php;

    root /data/wwwroot/default;

}

4. /usr/local/nginx/sbin/nginx -s reload

錯誤現象: php返回200 但頁面空白      配置文件錯誤

server
    {
        listen 80 default_server;
        server_name localhost;
        index index.html index.htm index.php;
        root  /data/wwwroot/111;
location ~ \.php$ {
         root           html;      //必須存在
         fastcgi_pass   127.0.0.1:9000;
         fastcgi_index  index.php;
       fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
       include        fastcgi_params;  //必須存在

 

或者   server
{
    listen 80 default_server;
    server_name aaa.com;
    index index.html index.htm index.php;
    root /data/wwwroot/111;
 location ~ \.php$
{
root   /data/wwwroot/111;
fastcgi_pass 127.0.0.1:9000;
    fastcgi_index index.php;
    include    fastcgi.conf;

12.8 Nginx用戶認證

1. 修改配置文件 

location  /

    {

        auth_basic              "lxy";     //用戶名

        auth_basic_user_file   /usr/local/nginx/conf/htpasswd;  //密碼文件

2. yum install -y  httpd  // 用httpd 生成

3. 生成密碼文件  

/usr/local/apache/bin/htpasswd -c /usr/local/nginx/conf/htpasswd lxy

4. 針對目錄驗證

location  /data/wwwroot/111

    {

        auth_basic              "lxy";     //用戶名

        auth_basic_user_file   /usr/local/nginx/conf/htpasswd;  //密碼文件

5. 針對訪問的url 

location  ~ index.php

    {

        auth_basic              "lxy";     //用戶名

        auth_basic_user_file   /usr/local/nginx/conf/htpasswd;  //密碼文件

 

12.9 Nginx域名重定向

1. 修改配置文件

server
{
    listen 80 default_server;
    server_name aaa.com;
    index index.html index.htm index.php;
    root /data/wwwroot/111;
if ( $host != ‘111.com’ ){
rewrite ^(.*)$ http://111.com$1 permanent;      //301     redirect  302

 

301適合永久重定向

  301比較經常使用的場景是使用域名跳轉。

  好比,咱們訪問 http://www.baidu.com 會跳轉到 https://www.baidu.com,發送請求以後,就會返回301狀態碼,而後返回一個location,提示新的地址,瀏覽器就會拿着這個新的地址去訪問。 

  注意: 301請求是能夠緩存的, 即經過看status code,能夠發現後面寫着from cache。

     或者你把你的網頁的名稱從php修改成了html,這個過程當中,也會發生永久重定向。

 

302用來作臨時跳轉

  好比未登錄的用戶訪問用戶中心重定向到登陸頁面。

  訪問404頁面會從新定向到首頁。 

相關文章
相關標籤/搜索