基於Linux系統部署Web服務器

部署Nginx+PHP環境

一、PHP的安裝與使用

1)下載PHP

http://101.96.10.63/cn2.php.net/distributions/php-5.6.40.tar.gz

建議下載到終端,然後上傳到Linux服務器,有時候效果比wget更佳。

2)通過yum安裝依賴

#yum -y install libxml2-devel openssl-devel \

curl-devel libjpeg-devel libpng-devel freetype-devel

3)安裝libmcrypt依賴

https://nchc.dl.sourceforge.net/project/mcrypt/Libmcrypt/2.5.8/libmcrypt-2.5.8.tar.gz

或者:ftp://mcrypt.hellug.gr/pub/crypto/mcrypt/libmcrypt

tar -zxvf libmcrypt-2.5.8.tar.gz

 cd libmcrypt-2.5.8       

./cofnigure     

make && make install

4)安裝PHP

#tar -zxvf php-5.6.40.tar.gz

#cd php-5.6.40

image.png

[root@Nginx php-5.6.40]# make && make install

image.png

5)測試PHP配置環境

通過php文件執行PHP代碼

#vim test1.php

<?php

echo "Hello World!\n";

?>

[root@Nginx /]# /usr/local/php/bin/php  -f  test1.php

Hello World!

#vim test2.php

<?php

phpinfo();

?>

[root@Nginx /]# /usr/local/php/bin/php  -f  test2.php

......

#[root@Nginx /]# /usr/local/php/bin/php  -f  test2.php

直接執行PHP代碼

[root@Nginx /]# /usr/local/php/bin/php  -r 'echo 960+660,"\n";' 

1620

二、PHP與Nginx整合

[root@Nginx /]# cd /usr/local/php/etc

[root@Nginx etc]# ls

pear.conf  php-fpm.conf.default

[root@Nginx etc]# cp php-fpm.conf.default  php-fpm.conf

[root@Nginx etc]# cd /usr//local/src/php-5.6.40

[root@Nginx php-5.6.40]# cp sapi/fpm/init.d.php-fpm  /etc/init.d/php-fpm

通過chkconfig實現開機啓動

[root@Nginx php-5.6.40]# chmod +x /etc/init.d/php-fpm 

[root@Nginx php-5.6.40]# chkconfig --add php-fpm 

或是

[root@Nginx php-5.6.40]# chkconfig --add /etc/init.d/php-fpm 

通過service方式管理PHP-FPM,實現啓動、重啓或停止服務

[root@Nginx php-5.6.40]# /etc/init.d/php-fpm status

php-fpm is stopped

[root@Nginx /]# service php-fpm start

Starting php-fpm  done

[root@Nginx /]# service php-fpm reload

Reload service php-fpm  done

[root@Nginx /]# service php-fpm restart

Gracefully shutting down php-fpm . done

Starting php-fpm  done

[root@Nginx /]# service php-fpm status

php-fpm (pid 13017) is running...

[root@Nginx /]# service php-fpm stop

查看程序進程和監聽端口

[root@Nginx /]# netstat -lnt

Active Internet connections (only servers)

Proto Recv-Q Send-Q Local Address    Foreign Address    State      

tcp        0      0 0.0.0.0:8001                0.0.0.0:*          LISTEN      

tcp        0      0 0.0.0.0:8002                0.0.0.0:*           LISTEN      

tcp        0      0 127.0.0.1:9000          0.0.0.0:*           LISTEN      

tcp        0      0 0.0.0.0:80                  0.0.0.0:*            LISTEN      

tcp        0      0 0.0.0.0:22                  0.0.0.0:*           LISTEN      

tcp        0      0 :::22                       :::*                      LISTEN      

[root@Nginx /]# ps aux|grep php

root     13017  0.0  0.1 105972  4808 ?  Ss   14:21   0:00 php-fpm: master process (/usr/local/php/etc/php-fpm.conf)   

nobody   13018  0.0  0.1 105972  4228 ?   S    14:21   0:00 php-fpm: pool www  

nobody   13019  0.0  0.1 105972  4228 ?   S    14:21   0:00 php-fpm: pool www 

root     13041  0.0  0.0 103332   904 pts/1  S+   14:22   0:00 grep php

三、PHP配置文件

1)php.ini

[root@Nginx php-5.6.40]# ls |grep php.ini

php.ini-development

php.ini-production

[root@Nginx php-5.6.40]# cp php.ini-development /usr/local/php/lib/php.ini

2)在Nginx配置支持PHP

在虛擬機192.168.12.132爲例,修改配置文件                                                                                                                                 

[root@Nginx vhost]# vim 192.168.12.132 

server {

      listen 80;

       server_name 192.168.12.132;

       root    html/192.168.12.132;

       index  index.html  index.htm index.php;

  location ~\.php$ {

    fastcgi_pass 127.0.0.1:9000;

    include fastcgi.conf;

     }

}

3)在html/192.168.12.132目錄中創建兩個PHP文件用於測試

[root@Nginx www.ng.test]# echo '<?php echo  OK;'>test.php;

[root@Nginx www.ng.test]# echo '<?php phpinfo();'>index.php;

4)測試運行結果

image.png

image.png

image.png

PHP編譯源碼:

#./configure --prefix=/usr/local/php --enable-fpm \

--with-zlib --enable-zip --enable-mbstring \

--with-mcrypt --with-mysql \

--with-mysqli --with-pdo-mysql --with-gd  \

--with-jpeg-dir --with-png-dir \

--with-freetype-dir --with-curl  \

--with-openssl --with-mhash \

--enable-bcmath  --enable-opcache

Nginx+Apache環境搭建

http://archive.apache.org/dist/httpd/  #下載Apache

http://mirror.bit.edu.cn/apache/apr/   #下載依賴庫APR、APR-util

[root@Nginx src]# tar -zxvf httpd-2.4.28.tar.gz 

[root@Nginx src]# tar -zxvf apr-1.6.5.tar.gz 

[root@Nginx src]# tar -zxvf apr-util-1.6.1.tar.gz 

[root@Nginx src]# mv apr-1.6.5 httpd-2.4.28/srclib/apr

[root@Nginx src]# mv apr-util-1.6.1 httpd-2.4.28/srclib/apr-util

[root@Nginx src]# yum -y install pcre-devel openssl-devel  #報如下錯誤

http://mirrors.cn99.com/centos/6.10/os/x86_64/repodata/repomd.xml: [Errno 14] PYCURL ERROR 6 - "Couldn't 

resolve host 'mirrors.cn99.com'"嘗試其他鏡像。

解決上述問題:

#vi /etc/sysconfig/network-scripts/ifcfg-eth0

DNS2:8.8.8.8

編譯安裝Apache

[root@Nginx httpd-2.4.28]# ./configure --enable-so --enable--deflate \

> --enable-ssl

image.png

[root@Nginx httpd-2.4.28]# make && make install

xml/apr_xml.c:384: 錯誤:expected ‘;’, ‘,’ or ‘)’ before ‘*’ token

xml/apr_xml.c: 在函數‘apr_xml_parser_create’中:

xml/apr_xml.c:401: 錯誤:‘apr_xml_parser’沒有名爲‘xp’的成員

xml/apr_xml.c:402: 錯誤:‘apr_xml_parser’沒有名爲‘xp’的成員

xml/apr_xml.c:410: 錯誤:‘apr_xml_parser’沒有名爲‘xp’的成員

xml/apr_xml.c:411: 錯誤:‘apr_xml_parser’沒有名爲‘xp’的成員

xml/apr_xml.c:412: 錯誤:‘apr_xml_parser’沒有名爲‘xp’的成員

xml/apr_xml.c:424: 錯誤:‘apr_xml_parser’沒有名爲‘xp’的成員

xml/apr_xml.c:424: 錯誤:‘default_handler’未聲明(在此函數內第一次使用)

xml/apr_xml.c:424: 錯誤:(即使在一個函數內多次出現,每個未聲明的標識符在其

xml/apr_xml.c:424: 錯誤:所在的函數內也只報告一次。)

xml/apr_xml.c: 在函數‘do_parse’中:

xml/apr_xml.c:434: 錯誤:‘apr_xml_parser’沒有名爲‘xp’的成員

xml/apr_xml.c:438: 錯誤:‘apr_xml_parser’沒有名爲‘xp’的成員

xml/apr_xml.c:442: 錯誤:‘apr_xml_parser’沒有名爲‘xp_err’的成員

xml/apr_xml.c:442: 錯誤:‘apr_xml_parser’沒有名爲‘xp’的成員

xml/apr_xml.c: 在函數‘apr_xml_parser_geterror’中:

xml/apr_xml.c:500: 錯誤:‘apr_xml_parser’沒有名爲‘xp_err’的成員

xml/apr_xml.c:500: 錯誤:‘apr_xml_parser’沒有名爲‘xp_err’的成員

make[3]: *** [xml/apr_xml.lo] 錯誤 1

make[3]: Leaving directory `/usr/local/src/httpd-2.4.28/srclib/apr-util'

make[2]: *** [all-recursive] 錯誤 1

make[2]: Leaving directory `/usr/local/src/httpd-2.4.28/srclib/apr-util'

make[1]: *** [all-recursive] 錯誤 1

make[1]: Leaving directory `/usr/local/src/httpd-2.4.28/srclib'

make: *** [all-recursive] 錯誤 1

解決上述問題:

[root@Nginx httpd-2.4.28]# yum install expat-devel -y

[root@Nginx httpd-2.4.28]# make && make install

collect2: ld returned 1 exit status

make[2]: *** [htpasswd] 錯誤 1

make[2]: Leaving directory `/usr/local/src/httpd-2.4.28/support'

make[1]: *** [all-recursive] 錯誤 1

make[1]: Leaving directory `/usr/local/src/httpd-2.4.28/support'

make: *** [all-recursive] 錯誤 1

原來是apr apr-util 用了最新的1.6版本,用1.5版本即可解決問題。

http://archive.apache.org/dist/apr/  #重新下載

[root@Nginx src]# wget http://archive.apache.org/dist/apr/apr-1.5.2.tar.gz 

[root@Nginx src]# wget http://archive.apache.org/dist/apr/apr-util-1.5.4.tar.gz

[root@Nginx src]# tar -zxvf apr-1.5.2.tar.gz 

[root@Nginx src]# tar -zxvf apr-util-1.5.4.tar.gz 

[root@Nginx src]# mv apr-1.5.2  httpd-2.4.28/srclib/apr

[root@Nginx src]# mv apr-util-1.5.4 httpd-2.4.28/srclib/apr-util

[root@Nginx httpd-2.4.28]# ./configure --enable-so --enable-deflate --enable-ssl

[root@Nginx httpd-2.4.28]# make && make install

image.png

[root@Nginx httpd-2.4.28]# cd  /usr/local/apache2/

[root@Nginx apache2]# ls

bin  build  cgi-bin  conf  error  htdocs  icons  include  lib  logs  man  manual  modules

配置Server命令管理Apache服務

[root@Nginx apache2]# vi /etc/init.d/httpd

#! /bin/bash

#chkconfig:35 85 15

/usr/local/apache2/bin/apachectl $1

[root@Nginx apache2]# chmod +x /etc/init.d/httpd

[root@Nginx apache2]# service httpd start

AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using ::1. Set the 'ServerName' directive globally to suppress this message

(98)Address already in use: AH00072: make_sock: could not bind to address [::]:80

(98)Address already in use: AH00072: make_sock: could not bind to address 0.0.0.0:80

no listening sockets available, shutting down

AH00015: Unable to open logs

爲什麼報上述錯誤?

因之前Nginx已佔用80端口,造成端口衝突,將Apache端口更改爲81.

[root@Nginx conf]# vi httpd.conf 

 Listen 81

[root@Nginx ~]# chkconfig --add httpd

[root@Nginx conf]# service httpd start

httpd (pid 13380) already running

[root@Nginx conf]# service httpd stop

[root@Nginx conf]# service httpd restart

httpd not running, trying to start

[root@Nginx conf]# service httpd start

httpd (pid 13499) already running

[root@Nginx conf]# iptables -I INPUT -p tcp --dport 81 -j ACCEPT

[root@Nginx conf]# service iptables save

[root@Nginx conf]# ps aux|grep httpd

root     13499  0.0  0.0  70344  2136 ?  Ss   09:10   0:00 /usr/local/apache2/bin/httpd -k restart

daemon   13500  0.0  0.1 414604  4164 ?  Sl   09:10   0:00 /usr/local/apache2/bin/httpd -k restart

daemon   13501  0.0  0.1 414604  4208 ?   Sl   09:10   0:00 /usr/local/apache2/bin/httpd -k restart

daemon   13502  0.0  0.1 480140  4780 ?   Sl   09:10   0:00 /usr/local/apache2/bin/httpd -k restart

root     13798  0.0  0.0 103332   904 pts/0    S+   09:16   0:00 grep httpd

訪問測試

image.png

配置虛擬主機

#vi httpd.conf

# Virtual hosts

Include conf/extra/httpd-vhosts.conf

[root@Nginx extra]# pwd

/usr/local/apache2/conf/extra

[root@Nginx extra]# vi  httpd-vhosts.conf 

<VirtualHost *:80>

   DocumentRoot "htdocs/www.sky9890.test"

   ServerName  www.sky9890.test

   ServerAlias sky9890.test

</VirtualHost>

[root@Nginx htdocs]# pwd

/usr/local/apache2/htdocs

[root@Nginx htdocs]# mkdir www.sky9890.test

[root@Nginx htdocs]# echo 'Welcome www.sky9890.test' >index.html

測試虛擬主機:

[root@Nginx htdocs]# curl sky9890.test:81

Welcome www.sky9890.test

[root@Nginx htdocs]# curl www.sky9890.test:81

Welcomewww.sky9890.test

Apache與PHP整合

1)編譯安裝PHP

[root@Nginx php-5.6.40]#./configure --prefix=/usr/local/php --enable-fpm \

--with-apxs2=/usr/local/apache2/bin/apxs \

--with-zlib --enable-zip --enable-mbstring \

--with-mcrypt --with-mysql \

--with-mysqli --with-pdo-mysql --with-gd  \

--with-jpeg-dir --with-png-dir \

--with-freetype-dir --with-curl  \

--with-openssl --with-mhash \

--enable-bcmath  --enable-opcache

image.png

[root@Nginx php-5.6.40]#make && make install

ext/standard/.libs/info.o: In function `php_info_print':

/usr/local/src/php-5.6.40/ext/standard/info.c:97: undefined reference to `ts_resource_ex'

ext/standard/.libs/info.o: In function `php_info_printf':

/usr/local/src/php-5.6.40/ext/standard/info.c:83: undefined reference to `ts_resource_ex'

ext/standard/.libs/info.o: In function `php_info_print_html_esc':

/usr/local/src/php-5.6.40/ext/standard/info.c:69: undefined reference to `ts_resource_ex'

ext/standard/.libs/info.o: In function `php_print_gpcse_array':

/usr/local/src/php-5.6.40/ext/standard/info.c:205: undefined reference to `executor_globals_id'

ext/standard/.libs/info.o: In function `php_print_info':

/usr/local/src/php-5.6.40/ext/standard/info.c:1109: undefined reference to `executor_globals_id'

collect2: ld returned 1 exit status

make: *** [sapi/cli/php] 錯誤 1

/usr/local/src/php-5.6.40/ext/iconv/iconv.c:2607: undefined reference to `libiconv_open'

collect2: ld returned 1 exit status

make: *** [sapi/cli/php] 錯誤 1

#wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.14.tar.gz

#tar -zxvf libiconv-1.14.tar.gz

#cd libiconv-1.14

#./configure  --prefix=/usr/local/libiconv

#make && make install

[root@Nginx php-5.6.40]#make clean

[root@Nginx php-5.6.40]#./configure --prefix=/usr/local/php --enable-fpm \

--with-apxs2=/usr/local/apache2/bin/apxs \

--with-zlib --enable-zip --enable-mbstring \

--with-mcrypt --with-mysql \

--with-mysqli --with-pdo-mysql --with-gd  \

--with-jpeg-dir --with-png-dir \

--with-iconv=/usr/local/libiconv \

--with-freetype-dir --with-curl  \

--with-openssl --with-mhash \

--enable-bcmath  --enable-opcache

[root@Nginx php-5.6.40]#make && make install

.......................................................

libtool: warning: remember to run 'libtool --finish /usr/local/src/php-5.6.40/libs'

chmod 755 /usr/local/apache2/modules/libphp5.so

[activating module `php5' in /usr/local/apache2/conf/httpd.conf]

Installing shared extensions:   /usr/local/php/lib/php/extensions/no-debug-zts-20131226/

Installing PHP CLI binary:      /usr/local/php/bin/

Installing PHP CLI man page:   /usr/local/php/php/man/man1/

Installing PHP FPM binary:      /usr/local/php/sbin/

Installing PHP FPM config:     /usr/local/php/etc/

Installing PHP FPM man page:    /usr/local/php/php/man/man8/

Installing PHP FPM status page:   /usr/local/php/php/php/fpm/

Installing PHP CGI binary:     /usr/local/php/bin/

Installing PHP CGI man page:   /usr/local/php/php/man/man1/

Installing build environment:   /usr/local/php/lib/php/build/

Installing header files:     /usr/local/php/include/php/

Installing helper programs:       /usr/local/php/bin/

  program: phpize

  program: php-config

Installing man pages:   /usr/local/php/php/man/man1/

  page: phpize.1

  page: php-config.1

Installing PEAR environment:     /usr/local/php/lib/php/

[PEAR] Archive_Tar    - already installed: 1.4.4

[PEAR] Console_Getopt - already installed: 1.4.1

[PEAR] Structures_Graph- already installed: 1.1.1

[PEAR] XML_Util     - already installed: 1.4.3

[PEAR] PEAR    - already installed: 1.10.7

Wrote PEAR system config file at: /usr/local/php/etc/pear.conf

You may want to add: /usr/local/php/lib/php to your php.ini include_path

/usr/local/src/php-5.6.40/build/shtool install -c ext/phar/phar.phar /usr/local/php/bin

ln -s -f phar.phar /usr/local/php/bin/phar

Installing PDO headers:     /usr/local/php/include/php/ext/pdo/

[root@Nginx src]# chmod 755 /usr/local/apache2/modules/libphp5.so 

[root@Nginx src]# cd /usr/local/apache2/

[root@Nginx apache2]# ls modules|grep php

libphp5.so

[root@Nginx apache2]# grep php conf/httpd.conf

LoadModule php5_module        modules/libphp5.so

2)Apache相關配置

配置httpd.conf文件

<IfModule dir_module>

    DirectoryIndex index.html  index.htm  index.php

    Options Indexes

</IfModule>

<FilesMatch "\.php$">

 setHandler application/x-httpd-php

</FilesMatch>

3)訪問測試

[root@Nginx htdocs]# echo '<?php phpinfo();'>info.php

image.png

image.png

Nginx+Apache動靜分離

 在Web服務器中,可以由Nginx提供對外訪問,靜態請求直接由Nginx處理,動態請求轉交給Apache處理,這樣就實現了動靜分離,如下圖所示:

image.png

1.配置Apache

#vi /usr/local/apache2/conf/httpd.conf

Include conf/extra/httpd-vhosts.conf  #去掉註釋"#"

LoadModule remoteip_module modules/mod_remoteip.so  #去掉註釋"#"

RemoteIPHeader X-Client-IP  #添加該行

RemoteIPInternalProxy 127.0.0.1  #添加該行

[root@Nginx extra]# pwd

/usr/local/apache2/conf/extra

[root@Nginx extra]# vim httpd-vhosts.conf 

<VirtualHost *:81>

   DocumentRoot  "/var/www/test"

   ServerName   192.168.12.128

</VirtualHost>

2.配置Nginx的動態請求處理

 server {

        listen       80;

        server_name   localhost;

        root  /var/www/test;

        index index.html index.htm  index.php;

        location ~\.php$ {

         proxy_pass http://127.0.0.1:81;

         proxy_set_header Host $host;

         proxy_set_header X-Client-IP $remote_addr;

      }

3.測試運行結果

image.png

image.png

image.png

Nginx+Tomcat環境

Nginx處理靜態資源的優勢同樣可以應用在Tomcat環境中,Tomcat處理請求的動態文件。

1.獲取JRE與Tomcat

https://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html

https://tomcat.apache.org/download-80.cgi

2.JRE和Tomcat的安裝

[root@Nginx src]# tar -zxvf jre-8u201-linux-x64.tar.gz 

[root@Nginx src]# tar -zxvf apache-tomcat-8.5.37.tar.gz

[root@Nginx src]# mv jre1.8.0_201/ /usr/local/jre

[root@Nginx src]#mv apache-tomcat-8.5.37 /usr/local/tomcat  /usr/local/tomcat

[root@Nginx tomcat]# ls

bin  BUILDING.txt  conf  CONTRIBUTING.md  lib  LICENSE  logs  NOTICE  README.md  RELEASE-NOTES  RUNNING.txt  temp  webapps  work

3)將Tomcat添加爲系統服務

[root@Nginx /]# vim /etc/init.d/tomcat

#! /bin/bash

#chkconfig:35 85 15

export JRE_HOME=/usr/local/jre

case "$1" in

    start)

    sudo -E -u nobody /usr/local/tomcat/bin/startup.sh

    ;;

    stop)

       /usr/local/tomcat/bin/shutdown.sh

     ;;

    restart)

     $0 stop

     $0 start

    ;;

 esac

[root@Nginx /]# chown -R nobody:nobody /usr/local/tomcat

[root@Nginx local]# chmod +x /etc/init.d/tomcat

[root@Nginx local]# chkconfig --add tomcat

[root@Nginx local]# service tomcat start

Using CATALINA_BASE:   /usr/local/tomcat

Using CATALINA_HOME:   /usr/local/tomcat

Using CATALINA_TMPDIR: /usr/local/tomcat/temp

Using JRE_HOME:        /usr/local/jre

Using CLASSPATH:       /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar

Tomcat started.

4)測試配置運行結果

[root@Nginx local]# ps aux|grep tomcat

nobody    2223  5.2  2.5 4488552 101272 pts/0  Sl   11:23   0:03 /usr/local/jre/bin/java -Djava.util.logging.config.file=/usr/local/tomcat/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 -Dignore.endorsed.dirs= -classpath /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar -Dcatalina.base=/usr/local/tomcat -Dcatalina.home=/usr/local/tomcat -Djava.io.tmpdir=/usr/local/tomcat/temp org.apache.catalina.startup.Bootstrap start

root      2276  0.0  0.0 103332   904 pts/0    S+   11:24   0:00 grep tomcat

[root@Nginx local]# netstat -tnlp|grep java

tcp        0      0 ::ffff:127.0.0.1:8005       :::*       LISTEN      2223/java           

tcp        0      0 :::8009                     :::*           LISTEN      2223/java           

tcp        0      0 :::8080                     :::*           LISTEN      2223/java       

[root@Nginx local]# iptables -I INPUT -p tcp --dport 8080 -j ACCEPT    

[root@Nginx local]# service iptables save

[root@Nginx bin]# ./shutdown.sh 

Neither the JAVA_HOME nor the JRE_HOME environment variable is defined

At least one of these environment variable is needed to run this program

[root@Nginx bin]# ./startup.sh 

Neither the JAVA_HOME nor the JRE_HOME environment variable is defined

At least one of these environment variable is needed to run this program

[root@Nginx ~]# vim  /etc/profile

export JRE_HOME=/usr/local/jre

#source /etc/profile

image.png

Nginx+Tomcat動靜分離

1)配置nginx.conf文件

#vim /usr/local/nginx/conf/nginx.conf

    server {

        server_name 192.168.12.128;

        root /usr/local/tomat/webapps/ROOT;

        index index.html index.htm index.jsp index.do;

       location ~/(WEB-INF|META-INF){

            deny all;

    }

      location ~ \.(jsp|do)$ {

         proxy_pass http://127.0.0.1:8080;

         proxy_set_header X-Client-IP $remote_addr;

      }

2)測試運行結果

image.png

小結:

1.使用開源軟件最大的優點就是免費,可靠,穩定等特點,最大的麻煩是版本之間是否配備、是否兼容,否則編譯、配置、安裝調式會通不過;

2.Nginx+PHP環境,程序測試通過;

3.Apache+PHP環境,程序測試通過;

4.Nginx+Apache+PHP環境,程序測試通過;

5.以上環境是在虛擬機單操作系統上測試通過,下次做Nginx+Apache動靜分離web服務時,嘗試虛擬兩臺主機做動靜分離;

6.配置nginx.conf和vhost兩個文件時,要注意是否重複綁定了server name,否則會警告,但不會影響到服務器運行。對於重複配置,有優先執行權限,有時候很有可能會導致無法響應動態解析。

7.Nginx、Apache web的默認端口是"80",避免引起端口衝突,需要保留一個"80"端口,另設其他端口,只要不與系統端口衝突即可。

8.下次做Nginx+Tomcat動靜分離時,嘗試虛擬兩臺主機做動靜分離。






發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章