LNMP架构搭建(包括tomcat)

PHP

编译安装php

./configure --prefix=/usr/local/lnmp/php --with-config-file-path=/usr/local/lnmp/php/etc  --with-openssl --with-snmp --with-gd --with-zlib --with-curl --with-libxml-dir --with-png-dir --with-jpeg-dir --with-freetype-dir --with-gmp  --with-gettext --without-pear --enable-mysqlnd --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd  --enable-inline-optimization --enable-soap --enable-ftp --enable-sockets --enable-mbstring  --enable-fpm --with-fpm-user=nginx --with-fpm-group=nginx --with-mcrypt --with-mhash

依赖

yum install -y gcc libxml2 libxml2-devel libcurl libcurl-devel libjpeg-turbo-devel libpng-devel freetype-devel gmp-devel net-snmp-devel

在这里插入图片描述
编辑文件/usr/local/lnmp/php/etc/php-fpm.conf.default
解注释pid文件

在这里插入图片描述
拷贝配置文件

cp /usr/local/lnmp/php/etc/php-fpm.conf.default /usr/local/lnmp/php/etc/php-fpm.conf

编辑主文件,选择时区

vim php-5.6.35/php.ini.production
cp php-5.6.35/php.ini.production /usr/local/lnmp/php/etc/php.ini

在这里插入图片描述

拷贝执行文件

cp php-5.6.35/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
useradd nginx

启动php

chmod +x /etc/init.d/php-fpm
/etc/init.d/php-fpm start

nginx

编译安装nginx

./configure --prefix=/usr/local/lnmp/nginx --with-http_ssl_module --with-http_stub_status_module --with-file-aio --with-threads --user=nginx  --group=nginx

修改配置文件

    location ~ \.php$ {
        root           html;
        fastcgi_pass   127.0.0.1:9000;
        fastcgi_index  index.php;
        # fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
        include        fastcgi.conf;
    }


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

在这里插入图片描述

添加软链接

ln -s /usr/local/lnmp/nginx/sbin/nginx /usr/local/sbin/

启动测试
在这里插入图片描述

MySQL

安装cmake

yum install cmake-2.8.12.2-4.el6.x86_64.rpm -y

在这里插入图片描述
安装依赖

yum install ncurses-devel bison gcc-c++ -y

在这里插入图片描述
编译安装

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/lnmp/mysql -DMYSQL_DATADIR=/usr/local/lnmp/mysql/data -DMYSQL_UNIX_ADDR=/usr/local/lnmp/mysql/data/mysql.sock -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DEXTRA_CHARSETS=all  -DWITH_BOOST=boost/boost_1_59_0/
make && make install

在这里插入图片描述

数据库的初始化
拷贝启动文件

cp mysql.server /etc/init.d/mysqld

添加执行权限

chmod +x /etc/init.d/mysqld 

拷贝配置文件

cp /etc/my.cnf /etc/my.cnf.bak
cp my-default.cnf /etc/my.cnf

修改配置文件 /etc/my.cnf

[mysqld]
basedir = /usr/local/lnmp/mysql
datadir = /usr/local/lnmp/mysql/data
socket = /usr/local/lnmp/mysql/data/mysql.sock

在这里插入图片描述
添加mysql组和用户

groupadd -g 27 mysql
useradd -u 27 -g 27 mysql

在这里插入图片描述
修改权限初始化

chown mysql.mysql /usr/local/lnmp/mysql -R

编辑环境变量.bash_profile

PATH=$PATH:$HOME/bin:/usr/local/lnmp/mysql/bin 

环境变量生效

source ~/.bash_profile

在这里插入图片描述
安全初始化数据库

mysqld --user=mysql --initialize

在这里插入图片描述
修改用户目录权限,提高安全性

chown root /usr/local/lnmp/mysql/ -R
赋予mysql数据目录的权限
chown mysql /usr/local/lnmp/mysql/data -R

在这里插入图片描述
启动数据库

/etc/init.d/mysql start

在这里插入图片描述
数据库安全初始化

mysql_secure_installation 

登录尝试

mysql -uroot -p

在这里插入图片描述

LNMP架构优化

搭建
启动nginx,php,mysql
修改php配置文件,添加数据库socket文件/usr/local/lnmp/php/etc/php.ini

pdo_mysql.default_socket= /usr/local/lnmp/mysql/data/mysql.sock
mysql.default_socket = /usr/local/lnmp/mysql/data/mysql.sock
mysqli.default_socket = /usr/local/lnmp/mysql/data/mysql.sock

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
重启php

下载开源软件Discuz,解压
在这里插入图片描述
修改目录权限
在这里插入图片描述
修改数据库目录权限
在这里插入图片描述
查看结果
在这里插入图片描述
优化

memcache的使用
修改环境变量,添加php可执行命令路径环境变量到路径中

PATH=$PATH:$HOME/bin:/usr/local/lnmp/mysql/bin:/usr/local/lnmp/php/bin/

在这里插入图片描述
解压memcache压缩文件,使用phpize获得编译文件
在这里插入图片描述
编译安装memcache

./configure
make && make install 

安装memcached启动memcache服务

yum install memcached

在这里插入图片描述
查看配置文件
在这里插入图片描述
可以修改文件/etc/sysconfig/memcached,添加额外的操作,例如下图,但是测试时不需要加
在这里插入图片描述
启动memcached

/etc/init.d/memcached start

在这里插入图片描述
查看端口
在这里插入图片描述
通过telnet测试

set name(键值对中的key,可寻找value)   0(flags额外参数)     0(exptime缓存时间)       6(bytes缓存字符的长度)

在这里插入图片描述
php调用该扩展模块

extension=memcache.so

在这里插入图片描述
在这里插入图片描述
重启php
在这里插入图片描述

拷贝文件memcache-2.2.5/memcache.php至网页发布目录
修改内容

$VERSION='$Id: memcache.php,v 1.2 2008/09/11 19:21:06 mikl Exp $';

define('ADMIN_USERNAME','memcache');    // Admin Username
define('ADMIN_PASSWORD','redhat');      // Admin Password
define('DATE_FORMAT','Y/m/d H:i:s');
define('GRAPH_SIZE',200);
define('MAX_ITEM_DUMP',50);

$MEMCACHE_SERVERS[] = '172.25.41.1:11211'; // add more as an array

在这里插入图片描述

拷贝memcache测试页memcache-2.2.5/example.php到发布目录

访问index.php和example.php查看结果的变化
在这里插入图片描述

在这里插入图片描述在这里插入图片描述
安装openresty测试memcache缓存
编译安装openresty

./configure
gmake && gmake install 

在这里插入图片描述修改配置文件

upstream memcache {
        server localhost:11211;
     }

在这里插入图片描述

location /memc {
    internal;
    memc_connect_timeout 100ms;
    memc_send_timeout 100ms;
    memc_read_timeout 100ms;
    set $memc_key $query_string;
    set $memc_exptime 300;
    memc_pass memcache;
}

在这里插入图片描述

location ~ \.php$ {
    set $key $uri$args;
    srcache_fetch  GET /memc $key;
    srcache_store  PUT /memc $key;
    root           html;
    fastcgi_pass   127.0.0.1:9000;
    fastcgi_index  index.php;
    #fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
    include        fastcgi.conf;
}

在这里插入图片描述
拷贝测试文件

cp /usr/local/lnmp/nginx/html/example.php /usr/local/openresty/nginx/html/
cp /usr/local/lnmp/nginx/html/memcache.php /usr/local/openresty/nginx/html
cp /usr/local/lnmp/nginx/html/index.php /usr/local/openresty/nginx/html/

测试结果
在这里插入图片描述
在这里插入图片描述tomcat配置java环境
解压tomcat和jdk到指定路径下并建立软链接

tar xf apache-tomcat-7.0.37.tar.gz  -C /usr/local/
tar xf jdk-7u79-linux-x64.tar.gz  -C /usr/local/
ln -s /usr/local/apache-tomcat-7.0.37/ /usr/local/tomcat

配置环境变量

export JAVA_HOME=/usr/local/jdk1.7.0_79
export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$PATH:$JAVA_HOME/bin

在这里插入图片描述
启动tomcat(默认发布目录webapps(ROOT))
在这里插入图片描述

测试访问
在这里插入图片描述
tomcat动态页面访问
新开一台虚拟机,拷贝tomcat下以及jdk的文件至/usl/local目录,同时建立tomcat软链接
在这里插入图片描述
配置环境变量

export JAVA_HOME=/usr/local/jdk1.7.0_79
export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$PATH:$JAVA_HOME/bin

在这里插入图片描述
拷贝测试文件test.jsp分别到两台服务器上
在这里插入图片描述
修改openresty的nginx的配置文件,配置负载均衡

upstream tomcat {
    server 172.25.41.1:8080;
    server 172.25.41.2:8080;
}

在这里插入图片描述

location ~ \.jsp$ {
            proxy_pass  http://tomcat;
        }

在这里插入图片描述
重启nginx和tomcat

/usr/local/openresty/nginx/sbin/nginx -s reload
/usr/local/tomcat/bin/shutdown.sh
/usr/local/tomcat/bin/startup.sh

在这里插入图片描述
登录测试页面,登录,发现轮询结果
在这里插入图片描述
在这里插入图片描述
会话保持(或者使用ip_hash)
编译安装nginx-1.10.1,添加模块sticky

./configure --prefix=/usr/local/lnmp/nginx --with-http_ssl_module --with-http_stub_status_module --with-file-aio --with-threads --user=nginx --group=nginx --add-module=/root/nginx-sticky-module-ng

在这里插入图片描述
拷贝openresty下的nginx的conf至新生成的nginx服务器的配置文件中,同时修改内容如下

cp /usr/local/openresty/nginx/conf/nginx.conf  /usr/local/lnmp/nginx/conf/nginx.conf
# 添加sticky
upstream tomcat {
    sticky;
    server 172.25.41.1:8080;
    server 172.25.41.2:8080;
}

在这里插入图片描述
关闭openresty,开启lnmp下的nginx,测试
在这里插入图片描述
session共享
拷贝jar包到指定目录tomcat/lib下(Apache Tomcat/7.0.37)【两台主机均进行如下操作】
在这里插入图片描述

cp  ~/Jar/*  /usr/local/tomcat/lib

在这里插入图片描述

修改tomcat配置文件

<Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager"
	memcachedNodes="n1:172.25.41.1:11211,n2:172.25.41.2:11211"
	failoverNodes="n1" (注意不同主机的节点号)
	requestUriIgnorePattern=".*\.(ico|png|gif|jpg|css|js)$"
    transcoderFactoryClass="de.javakaffee.web.msm.serializer.kryo.KryoTranscoderFactory"
/>

在这里插入图片描述
安装memcached并启动

yum install memcached
/etc/init.d/memcached start

在这里插入图片描述
关闭并重新启动tomcat

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

在这里插入图片描述
两台主机均配置完毕后,查看结果
在这里插入图片描述
此时尝试断开服务器1,主机切换,但是内容保持一致
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值