nginx反向代理tomcat8和php7(四)

nginx1.15反向代理:

正向代理:

用户用浏览器与代理服务器建立连接。 代理服务器去找web服务器。

代理服务器是在客户端浏览器设置。

反向代理:

用户与反向代理服务器建立连接。反向代理服务器将请求代理到后端web服务器。

反向代理服务器是在服务器端配置代理。常用的反向代理为:nginx.

系统环境: centos7.5

安装环境:

 服务名称    服务IP地址   服务描述
 node01 18.18.23.109   nginx1.15
 node02 18.18.23.110
mysql5.7.22

 node03 18.18.23.111   tomcat8/php7.1.2

一. nginx反向代理tomcat:

1.nginx反向代理tomcat配置:

nginx.conf配置:

    http段配置:
     include vhost/*.conf;

#mkdir vhosts

#vi vhosts/proxy-tomcat.conf

    server {
		listen 88;
		server_name tomcat;
		access_log logs/tomcat-access.log;
		error_log  logs/tomcat-error.log;	

		location / {
			proxy_pass http://18.18.23.111:8080;


tomcat服务器配置:

安装jdk1.8

配置环境变量:

  export JAVA_HOME=/usr/local/jdk1.8.0_45
  export PATH=$JAVA_HOME/bin:$PATH
  export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

安装tomcat服务器:

下载tomcat:

    #curl -o apache-tomcat-8.5.31.tar.gz  https://tomcat.apache.org/download-80.cgi#8.5.31/apache-tomcat-8.5.31.tar.gz

解压tomcat.

启动tomcat.

./bin/start.sh

浏览器访问:

http://18.18.23.109:88  , 返回的是tomcat的页面。

二、nginx1.15反向代理php

1.安装php依赖的第三方库:

# yum -y install libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel  pcre-devel  gd-devel libcurl-devel curl-devel libxslt-devel openssl openssl-devel

2.编译安装php:

# tar -zxvf php-7.1.2.tar.gz
#cd  php-7.1.2
# ./configure --prefix=/usr/local/php7 --with-config-file-path=/usr/local/php/etc --with-mysqli --enable-mysqlnd --enable-embedded-mysqli  --with-curl  --with-freetype-dir  --with-gd  --with-gettext  --with-iconv-dir  --with-kerberos  --with-libdir=lib64  --with-libxml-dir  --with-mysqli  --with-openssl  --with-pcre-regex  --with-pdo-mysql    --with-pear  --with-png-dir  --with-xmlrpc  --with-xsl  --with-zlib  --enable-fpm  --enable-bcmath  --enable-libxml  --enable-inline-optimization  --enable-gd-native-ttf  --enable-mbregex  --enable-mbstring  --enable-opcache  --enable-pcntl  --enable-shmop  --enable-soap  --enable-sockets  --enable-sysvsem  --enable-xml  --enable-zip  --with-jpeg-dir --with-png-dir --with-iconv  --with-pcre-dir  --with-mhash  
#make &&  make install

3. 复制并修改配置文件:

在PHP服务器上,建立nginx用户,要保证和nginx服务器上的nginx用户id 号、组id号一致。

     # cp php.ini-development   /usr/local/php7/etc/php.ini

配置php-fpm

        # cp /usr/local/php7/etc/php-fpm.conf.default  /usr/local/php7/etc/php-fpm.conf
       # cp /usr/local/php7/etc/php-fpm.d/www.conf.default  /usr/local/php7/etc/php-fpm.d/www.conf

修改配置文件:

# vim   /usr/local/php7/etc/php.ini

      short_open_tag = On
      default_charset = "UTF-8"
      date.timezone = Asia/Shanghai

#vim   /usr/local/php7/etc/php-fpm.d/www.conf

        [www]
       user = nginx
       group = nginx 
       listen.owner = nginx
       listen.group = nginx
       listen = 18.18.23.111:9000
       pm = dynamic
       pm.max_children = 50       #子进程最大数量
       pm.start_servers = 20       #在启动时创建的子进程数量
       pm.min_spare_servers = 5     # 空闲子进程的最小数量
       pm.max_spare_servers = 50     # 空闲子进程的最大数量
       pm.process_idle_timeout = 10s  # 一个空闲进程空闲多少秒后被杀死
       php_admin_value[error_log] = /var/log/fpm-php.www.log

 4. 启动php-fpm:

添加为系统服务:

# cat /usr/lib/systemd/system/php-fpm.service 
    [Unit]
    Description=php7.1.2
    After=network.target
    [Service]
    Type=forking
    ExecStart=/usr/local/php7/sbin/php-fpm
    ExecStop=/bin/pkill -9 php-fpm
    PrivateTmp=true
    [Install]
    WantedBy=multi-user.target
        #systemctl daemon-reload
    #systemctl enable php-fpm
    #systemctl start php-fpm

5.Nginx 配置php程序通过FastCGI转发给php

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

在server段上面配置:

  include vhost/*.conf;

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

     server {        
         listen 81;
         server_name php;
         access_log logs/php-access.log;
         location / {
          root html/wordpress;
          index index.php index.html index.htm;   
         }
         location ~ \.php$ {
          root           html/wordpress;
          fastcgi_pass   18.18.23.111:9000;  #php服务器ip地址。
          fastcgi_index  index.php;
          fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
          include        fastcgi.conf;
         }
       }


php脚本存放位置:

# tar -zxvf wordpress-4.9.4-zh_CN.tar.gz   -C  /usr/local/nginx/html/
#chown -R nginx  /usr/local/nginx/wordpress

6.mysql配置:

mysql> create database wordpress;
mysql> create user 'blog'@'%' identified by '123';
mysql> grant all privileges on wordpress.* to 'blog'@'%';
mysql> flush privileges;

浏览器访问:

http://18.18.23.109:81/index.php

wordpress已经搭建完成。

原文地址:http://blog.51cto.com/liyuanjie/2153823

时间: 2024-10-18 19:54:15

nginx反向代理tomcat8和php7(四)的相关文章

nginx反向代理

1. 操作系统 CentOS 6.4 x86_64 2.软件版本 Nginx 1.4.2 3.实验拓扑 注,实验拓扑见下文. 4.安装yum源 1 2 3 [root @nginx ~]# rpm -ivh http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm [[email protected] ~]# rpm -ivh http://download.fedoraproject.org/

Nginx反向代理、动静分离、负载均衡及rewrite隐藏路径详解(Nginx Apache MySQL Redis)–第三部分

Nginx反向代理.动静分离.负载均衡及rewrite隐藏路径详解 (Nginx Apache MySQL Redis) 楓城浪子原创,转载请标明出处! 更多技术博文请见个人博客:https://fengchenglangzi.000webhostapp.com 微信bh19890922 QQ445718526.490425557 三.Nginx动静分离及负载均衡 3.1 Nginx安装 请参考:https://fengchenglangzi.000webhostapp.com/?p=511 亦

Nginx反向代理,负载均衡,redis session共享,keepalived高可用

相关知识自行搜索,直接上干货... 使用的资源: nginx主服务器一台,nginx备服务器一台,使用keepalived进行宕机切换. tomcat服务器两台,由nginx进行反向代理和负载均衡,此处可搭建服务器集群. redis服务器一台,用于session的分离共享. nginx主服务器:192.168.50.133 nginx备服务器:192.168.50.135 tomcat项目服务器1:192.168.50.137 tomcat项目服务器2:192.168.50.139 redis服

Nginx反向代理、负载均衡、页面缓存、URL重写及读写分离详解

大纲 一.前言 二.环境准备 三.安装与配置Nginx 四.Nginx之反向代理 五.Nginx之负载均衡 六.Nginx之页面缓存 七.Nginx之URL重写 八.Nginx之读写分离 注,操作系统为 CentOS 6.4 x86_64 , Nginx 是版本是最新版的1.4.2,所以实验用到的软件请点击这里下载:http://yunpan.cn/QXIgqMmVmuZrm 一.前言 在前面的几篇博文中我们主要讲解了Nginx作为Web服务器知识点,主要的知识点有nginx的理论详解.ngin

Php学习之nginx反向代理详解

本文和大家分享的主要是php中nginx反向代理相关内容,一起来看看吧,希望对大家学习php有所帮助. 一.概念理解 1.代理服务器 代理服务器,客户机在发送请求时,不会直接发送给目的主机,而是先发送给代理服务器,代理服务接受客户机请求之后,再向主机发出,并接收目的主机返回的数据,存放在代理服务器的硬盘中,再发送给客户机. 2.为什么要使用代理服务器 ①提高访问速度 由于目标主机返回的数据会存放在代理服务器的硬盘中,因此下一次客户再访问相同的站点数据时,会直接从代理服务器的硬盘中读取,起到了缓存

Nginx 反向代理、负载均衡

## Nginx 反向代理. (一)简介 一.什么是代理服务器 客户机原本发送给服务器的请求,不会直接发送给服务器,而是先发送给代理服务器:经过代理服务器处理后转发给服务器:服务器数据处理后转回给代理服务器,代理服务器再返回给客户机的一个过程. 二.代理服务器的作用 1. 防火墙作用 由于所有的客户机请求都必须通过代理服务器访问远程站点,因此可在代理服务器上设限,过滤某些不安全信息: 2. 提高Web访问速度 可以缓存真实Web服务器上的某些静态资源,减轻真实Web服务器的负载压力: 3. 实现

Nginx反向代理以及负载均衡配置

前提:最近在研究nginx的用法,在windows上小试了一下,由于windows下不支持nginx缓存配置,所以本文主要是讲nginx,以及反向代理与负载均衡. [一.为什么要使用nginx] 要回答为什么要使用nginx,那就先说说nginx能做些什么. 首先,nginx能做反向代理,那么什么是反向代理呢,举个栗子,我想在本地使用 www.mickey.com 的域名去访问 www.taobao.com.那么这个时候我们就可以通过nginx去实现. 再者,nginx能实现负载均衡,什么是负载

Nginx 反向代理、负载均衡、页面缓存、URL重写及读写分离详解

大纲 一.前言 二.环境准备 三.安装与配置Nginx 四.Nginx之反向代理 五.Nginx之负载均衡 六.Nginx之页面缓存 七.Nginx之URL重写 八.Nginx之读写分离 注,操作系统为 CentOS 6.4 x86_64 , Nginx 是版本是最新版的1.4.2,所以实验用到的软件请点击这里下载:http://yunpan.cn/QXIgqMmVmuZrm 一.前言 在前面的几篇博文中我们主要讲解了Nginx作为Web服务器知识点,主要的知识点有nginx的理论详解.ngin

nginx反向代理缓存服务器的构建

Nginx反向代理缓存服务器构建 一:代理服务可简单的分为正向代理和反向代理: 正向代理:用于代理内部网络对Internet的连接请求(如VPN/NAT),客户端指定代理服务器,并将本来要直接发送给目标Web服务器的HTTP请求先发送到代理服务器上, 然后由代理服务器去访问Web服务器,并将Web服务器的Response回传给客户端: 反向代理:与正向代理相反,如果局域网向Internet提供资源,并让Internet上的其他用户可以访问局域网内资源, 也可以设置一个代理服务器, 它提供的服务就