欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Nginx中的網(wǎng)站服務(wù)詳解

 更新時(shí)間:2025年05月21日 14:22:51   作者:?ccc?  
這篇文章主要介紹了Nginx中的網(wǎng)站服務(wù),具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

一:基于授權(quán)的訪問(wèn)控制

1:基于授權(quán)的訪問(wèn)控制簡(jiǎn)介

Nginx與 Apahce 一樣,可以實(shí)現(xiàn)基于用戶授權(quán)的訪問(wèn)控制,當(dāng)客戶端想要訪問(wèn)相應(yīng)網(wǎng)站或者目錄時(shí),要求用戶輸入用戶名和密碼才能正常訪問(wèn),配置步驟與 Apache 基本一致。

概括為以下幾個(gè)步驟。

  • 生成用戶密碼認(rèn)證文件。
  • 修改主配置文件相對(duì)應(yīng)目錄,添加認(rèn)證配置項(xiàng)。
  • 重啟服務(wù),訪問(wèn)測(cè)試。

2:基于授權(quán)的訪問(wèn)控制步驟

(1)使用 htpasswd 生成用戶認(rèn)證文件

[root@localhost ~]# yum-y install httpd-tools
[root@localhost ~]# htpasswd -c /usr/local/nginx/passwd.db test
[root@localhost ~]# cat /usr/local/nginx/passwd.db

(2)修改密碼文件權(quán)限為 400,將所有者改為 nginx,設(shè)置 Nginx 的運(yùn)行用戶能夠讀取。

[root@localhost ~# chmod 400 /usr/local/nginx/passwd. db
[root@localhost ~# chown nginx /usr/local/nginx/passwd. db
[root@localhost ~# 1l-d /usr/local/nginx/passwd. db

(3)修改主配置文件 nginx.conf,添加相應(yīng)認(rèn)證配置項(xiàng)。

[root@localhost # vim /usr/local/nginx/conf/nginx.conf
server {
    location / {
    auth basic "secret"
    auth basic user file /usr/local/nginx/passwd.db;
    }
}

(4)檢測(cè)語(yǔ)法、重啟服務(wù)。

[root@localhost#nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx. conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful
[root@localhost # systemctl restart nginx

(5)用瀏覽器訪問(wèn)網(wǎng)址,檢驗(yàn)控制效果,如圖 5.2所示。需要輸入用戶名和密碼進(jìn)行訪問(wèn),驗(yàn)證通過(guò)才能訪問(wèn)到頁(yè)面。

二:基于客戶端的訪問(wèn)控制

1:基于客戶端的訪問(wèn)控制簡(jiǎn)介

基于客戶端的訪問(wèn)控制是通過(guò)客戶端IP地址,決定是否允許對(duì)頁(yè)面訪問(wèn)Nginx 基于客戶端的訪問(wèn)控制要比 Apache 簡(jiǎn)單,規(guī)則如下:

  • deny IP/IP 段:拒絕某個(gè)IP或IP 段的客戶端訪問(wèn)
  • allow IP/IP 段:允許某個(gè)IP或IP 段的客戶端訪問(wèn)。
  • 規(guī)則從上往下執(zhí)行,如匹配則停止,不再往下匹配。

2:基于客戶端的訪問(wèn)控制步驟

(1)修改主配置文件 nginx.conf,添加相應(yīng)配置項(xiàng)。

location / {
root html;
index index.html index.htm;
# auth basic "secret";
# auth basic user file /usr/local/nginx/passwd.db;
deny 192.168.10.3;
allow all;

}

三:Nginx 虛擬主機(jī)

1:基于域名的虛擬主機(jī)

(1)設(shè)置客戶端域名解析

修改 hosts 文件,加入www.benet.com 和 www.accp.com 這兩個(gè)域名

  • 192.168.10.101 www.benet.com
  • 192.168.10.101 www.accp.com

(2)準(zhǔn)備各個(gè)網(wǎng)站的目錄和測(cè)試首頁(yè)

[root@localhost ~]# mkdir -p /var/www/html/benet!
[root@localhost ~]# mkdir -p /var/www/htmllaccp!
[root@localhost ~# echo "www.benet.com''>> /var/www/html/benet/index.html
[root@localhost ~]# echo"www.accp.com">>/var/www/html/accp/index.html

(3)修改配置文件

[root@localhost ~]# vim /usr/local/nginx/conf/nginx.conf
server {
    listen       80;
    server_name  www.benet.com;
    access_log  logs/www.benet.com.access.log;
    charset utf-8;
    location / {
        root   /var/www/html/benet;
        index  index.html index.htm;
    }
    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
        root   html;
    }
}
server {
    listen       80;
    server_name  www.accp.com;
    access_log  logs/www.accp.com.access.log;
    charset utf-8;
    location / {
        root   /var/www/html/accp;
        index  index.html index.htm;
    }
    error_page 500 502 503 504 /50x.html;
    location = /50x.html {
        root   html;
    }
}

(4)測(cè)試

2:基于 IP 的虛擬主機(jī)

一臺(tái)主機(jī)如果有多個(gè) IP 地址,可以設(shè)置每一個(gè) IP 對(duì)應(yīng)一個(gè)站點(diǎn)。主機(jī)安裝多個(gè)網(wǎng)卡可以有多個(gè) IP,這里采用虛擬 IP 的方式使主機(jī)有多個(gè) IP。

(1)為服務(wù)器設(shè)置多個(gè)IP地址

[root@localhost ~]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# cp ifcfg-ens33 ifcfg-ens33:0
[root@localhost network-scripts]# cp ifcfg-ens33 ifcfg-ens33:1
[root@localhost network-scripts]# vim ifcfg-ens33:0
IPADDR=192.168.10.151
NETMASK=255.255.255.0
GATEWAY=192.168.10.254
DNS1=223.6.6.6
NAME=ens33:0
DEVICE=ens33:0
[root@localhost network-scripts]# vim ifcfg-ens33:1
IPADDR=192.168.10.152
NETMASK=255.255.255.0
GATEWAY=192.168.10.254
DNS1=223.6.6.6
NAME=ens33:1
DEVICE=ens33:1
[root@localhost network-scripts]# nmcli c reload
[root@localhost network-scripts]# nmcli c up ens33
[root@localhost network-scripts]# ip add

(2)修改 Nginx的配置文件,使基于 IP 的虛擬主機(jī)生效

[root@localhost ~]# vim /usr/local/nginx/conf/nginx.conf 
    server {
        listen       192.168.10.151:80;
        server_name  www.benet.com;
.....
   }

    server {
        listen       192.168.10.152:80;
        server_name www.accp.com;
.....
}

[root@localhost ~]# systemctl restart nginx

3:基于端口的虛擬主機(jī)

(1)選擇系統(tǒng)中不使用的端口,多個(gè)端口映射到同一 IP 地址

[root@localhost ~]# vim /usr/local/nginx/conf/nginx.conf 
    server {
        listen       192.168.10.101:8080;
        server_name  www.benet.com;
.....
   }

    server {
        listen       192.168.10.101:8888;
        server_name www.accp.com;
.....
}
[root@localhost ~]# systemctl restart nginx

(2)檢測(cè)端口是否運(yùn)行正常

[root@localhost ~]# netstat -anpt | grep nginx

(3)分別訪問(wèn) 2 個(gè)端口地址

四:LNMP 架構(gòu)部署及應(yīng)用

1:編譯安裝 MySQL 服務(wù)

(1)編譯安裝 MySQL 服務(wù)

[root@www ~]# yum install -y autoconf

備注:

Autoconf是一個(gè)用于生成可以自動(dòng)地配置軟件源代碼包以適應(yīng)多種Unix類系統(tǒng)的 shell腳本的工具。

[root@localhost ~]# yum -y install ncurses-devel gcc-c++ perl-Module-Install cmake
[root@localhost ~]# tar -zxvf mysql-5.6.36.tar.gz
[root@localhost ~]# cd mysql-5.6.36/
[root@localhost mysql-5.6.36]# cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS=all \
-DSYSCONFDIR=/etc
[root@localhost mysql-5.6.36]# make && make install

(2)復(fù)制配置文件到/etc 下,并把 MySQL 添加到服務(wù)

[root@localhost mysql-5.6.36]# cp support-files/my-default.cnf /etc/my.cnf 
[root@localhost mysql-5.6.36]# cp support-files/mysql.server /etc/init.d/mysqld
[root@localhost mysql-5.6.36]# chmod +x /etc/rc.d/init.d/mysqld 
[root@localhost mysql-5.6.36]# chkconfig --add mysqld 
[root@localhost mysql-5.6.36]# chkconfig mysqld on

[root@localhost mysql-5.6.36]# echo "PATH=$PATH:/usr/local/mysql/bin">> /etc/profile 
[root@localhost mysql-5.6.36]# . /etc/profile

(3)初始化數(shù)據(jù)庫(kù)

[root@localhost ~]# groupadd mysql 
[root@localhost ~]# useradd -M -s /sbin/nologin mysql -g mysql
[root@localhost ~]# chown -R mysql.mysql /usr/local/mysql 

[root@localhost ~]# /usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql

(4)啟動(dòng) mysql,并設(shè)置密碼

[root@localhost ~]# systemctl start mysqld 
[root@localhost ~]# mysqladmin -u root password '123.com'

2:安裝 PHP 解析環(huán)境

(1)編譯安裝 PHP

[root@localhost ~]# yum -y install gd libxml2-devel libjpeg-devel libpng-devel 

備注:

  • libxml2-devel:libxml是一個(gè)用來(lái)解析XML文檔的函數(shù)庫(kù)
  • libjpeg-devel #是一個(gè)完全用C語(yǔ)言編寫的庫(kù),包含了被廣泛使用的JPEG解碼、JPEG編碼和其他的JPEG功能的實(shí)現(xiàn)
  • libpng-devel #libpng 是一套免費(fèi)的、公開源代碼的程序庫(kù),支持對(duì) PNG 圖形文件的創(chuàng)建、讀寫等操作
  • GD指的是Graphic Device,PHP的GD庫(kù)是用來(lái)處理圖形的擴(kuò)展庫(kù),通過(guò)GD庫(kù)提供的一系列API,可以對(duì)圖像進(jìn)行處理或者直接生成新的圖片。PHP除了能進(jìn)行文本處理以外,通過(guò)GD庫(kù),可以對(duì)JPG、PNG、GIF、SWF等圖片進(jìn)行處理
  • zlib-devel #Zlib是一個(gè)壓縮和解壓模塊
[root@localhost ~]#tar -zxvf php-5.5.38.tar.gz
[root@localhost ~]#cd php-5.5.38/ 
[root@localhost php-5.5.38]# ./configure \
--prefix=/usr/local/php5 \
--with-gd \
--with-zlib \
--with-mysql=/usr/local/mysql \
--with-mysqli=/usr/local/mysql/bin/mysql_config \
--with-config-file-path=/usr/local/php5 \
--enable-mbstring \
--enable-fpm \
--with-jpeg-dir=/usr/lib

(2)安裝后調(diào)整

[root@localhost php-5.5.38]# cp php.ini-development /usr/local/php5/php.ini 
[root@localhost php-5.5.38]# ln -s /usr/local/php5/bin/* /usr/local/bin/ 
[root@localhost php-5.5.38]# ln -s /usr/local/php5/sbin/* /usr/local/sbin/

(3)安裝 ZendGuardLoader

[root@localhost ~]# tar -zxvf zend-loader-php5.5-linux-x86_64_update1.tar.gz
[root@localhost ~]# cd zend-loader-php5.5-linux-x86_64/ 
[root@localhost zend-loader-php5.5-linux-x86_64]# cp ZendGuardLoader.so /usr/local/php5/lib/php/ 
[root@localhost zend-loader-php5.5-linux-x86_64]# vim /usr/local/php5/php.ini 

添加下列內(nèi)容:

zend_extension=/usr/local/php5/lib/php/ZendGuardLoader.so
zend_loader.enable=1

3:配置 Nginx 支持 PHP 環(huán)境

(1)啟用 php-fpm 進(jìn)程

[root@localhost ~]# cd /usr/local/php5/etc/ 
[root@localhost etc]# cp php-fpm.conf.default php-fpm.conf 
[root@localhost etc]# useradd -M -s /sbin/nologin php 
[root@localhost etc]# vim php-fpm.conf

[root@localhost etc]# /usr/local/sbin/php-fpm 
[root@localhost etc]# netstat -anpt | grep php-fpm

[root@localhost ~]# vim /lib/systemd/system/php-fpm.service
[root@localhost ~]# systemctl daemon-reload
[root@localhost ~]# systemctl start php-fpm

(2)配置 Nginx 支持 PHP 解析

[root@localhost ~]# vim /usr/local/nginx/conf/nginx.conf 
Server{ 
listen 80; 
server_name www.bt.com; 

    	 location / {
            root   /var/www/html;
            index  index.html index.htm index.php;
        }

        location ~ \.php$ {
            root           /var/www/html;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            include        fastcgi.conf;
        }
}

3PHP 頁(yè)面訪問(wèn)測(cè)試

[root@localhost ~]# mkdir -p /var/www/html/ 
[root@localhost ~]# vim /var/www/html/test1.php 
<?php 
phpinfo();
?>

[root@localhost ~]# vim /var/www/html/test2.php 
<?php 
$link=mysqli_connect('127.0.0.1','root','pwd123'); 
if($link) echo "<h1>恭喜你,數(shù)據(jù)庫(kù)連接成功啦?。?!</h1>"; 
mysqli_close($link); 
?>

4:在 LNMP 平臺(tái)中部署 Web 應(yīng)用

(1)下載并部署程序代碼

[root@localhost ~]# yum -y install unzip
[root@localhost ~]# unzip Discuz_X3.3_SC_UTF8.zip 
[root@localhost ~]# mkdir -p /var/www/html/bbs 
[root@localhost ~]# mv upload/* /var/www/html/bbs 
[root@localhost ~]# chown -R php:php /var/www/html/bbs/

(2)創(chuàng)建數(shù)據(jù)庫(kù)

[root@localhost ~]# mysql -uroot -p 
mysql>create database bbs; 
mysql>grant all on bbs.* to runbbs@127.0.0.1 identified by 'bbs123';
mysql>grant all on bbs.* to runbbs@'localhost' identified by 'bbs123';

(3) 安裝 Web 應(yīng)用

訪問(wèn)服務(wù)器 URL 地址,對(duì)網(wǎng)站進(jìn)行初始化

http://192.168.10.101/bbs/install/index.php

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • nginx-proxy-manager初次登錄報(bào)錯(cuò)502?bad?gateway解決

    nginx-proxy-manager初次登錄報(bào)錯(cuò)502?bad?gateway解決

    這篇文章主要給大家介紹了關(guān)于nginx-proxy-manager初次登錄報(bào)錯(cuò)502?bad?gateway的解決辦法,502?Bad?Gateway服務(wù)器作為網(wǎng)關(guān)或者代理時(shí),為了完成請(qǐng)求訪問(wèn)下一個(gè)服務(wù)器,但該服務(wù)器返回了非法的應(yīng)答,需要的朋友可以參考下
    2024-04-04
  • 詳解nginx 配置多個(gè)tomcat共用80端口

    詳解nginx 配置多個(gè)tomcat共用80端口

    本篇文章主要介紹了nginx 配置多個(gè)tomcat共用80端口,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • Windows下Nginx + PHP5 的安裝與配置方法

    Windows下Nginx + PHP5 的安裝與配置方法

    Nginx 是一個(gè)輕量級(jí)的高性能 Http WebServer,以事件驅(qū)動(dòng)方式編寫,因此相比 Apache 而言,Nginx 更加穩(wěn)定、性能更好,而且配置簡(jiǎn)單,資源占用較低。以下是我在 Windows 7 安裝中 Nginx 和 PHP5.3 的步驟。
    2010-07-07
  • Nginx內(nèi)網(wǎng)環(huán)境開啟https雙協(xié)議的實(shí)現(xiàn)

    Nginx內(nèi)網(wǎng)環(huán)境開啟https雙協(xié)議的實(shí)現(xiàn)

    本文主要介紹了Nginx內(nèi)網(wǎng)環(huán)境開啟https雙協(xié)議,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2025-02-02
  • windows系統(tǒng)下安裝Nginx及簡(jiǎn)單使用過(guò)程

    windows系統(tǒng)下安裝Nginx及簡(jiǎn)單使用過(guò)程

    Nginx是一個(gè)很強(qiáng)大的高性能Web和反向代理服務(wù),也是一種輕量級(jí)的Web服務(wù)器,可以作為獨(dú)立的服務(wù)器部署網(wǎng)站,應(yīng)用非常廣泛,特別是現(xiàn)在前后端分離的情況下,這篇文章主要介紹了windows系統(tǒng)下安裝Nginx以及簡(jiǎn)單使用,需要的朋友可以參考下
    2024-04-04
  • Nginx的重寫Rewrite使用示例分析

    Nginx的重寫Rewrite使用示例分析

    這篇文章主要介紹了Nginx Rewrite功能使用,rewrite是Nginx服務(wù)器提供的一個(gè)重要基本功能,主要作用用來(lái)實(shí)現(xiàn)URL地址重寫,需要的朋友可以參考下
    2022-05-05
  • Nginx服務(wù)器下配置個(gè)性二級(jí)域名及多個(gè)域名的實(shí)例講解

    Nginx服務(wù)器下配置個(gè)性二級(jí)域名及多個(gè)域名的實(shí)例講解

    這篇文章主要介紹了Nginx服務(wù)器下配置個(gè)性二級(jí)域名及多個(gè)域名的實(shí)例講解,注意一下rewrite的寫法規(guī)則,需要的朋友可以參考下
    2016-01-01
  • 使用nginx正向代理實(shí)現(xiàn)訪問(wèn)外網(wǎng)

    使用nginx正向代理實(shí)現(xiàn)訪問(wèn)外網(wǎng)

    這篇文章主要介紹了使用nginx正向代理實(shí)現(xiàn)讓內(nèi)網(wǎng)主機(jī)通過(guò)外網(wǎng)主機(jī)訪問(wèn)外網(wǎng),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-12-12
  • Nginx服務(wù)器中使用gzip壓縮的相關(guān)配置解析

    Nginx服務(wù)器中使用gzip壓縮的相關(guān)配置解析

    這篇文章主要介紹了Nginx服務(wù)器中使用gzip壓縮的相關(guān)配置解析,包括對(duì)gzip請(qǐng)求處理相關(guān)的壓縮配置,需要的朋友可以參考下
    2015-12-12
  • Nginx如何代理本地文件

    Nginx如何代理本地文件

    這篇文章主要介紹了Nginx如何代理本地文件問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2025-03-03

最新評(píng)論