nginx+tomcat+LAMP

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,集群系列 2核4GB
简介:

nginx+tomcat+LAMP


一、安装LAMP(apache+mysql+php)平台

 

1、安装apache

下载地址:http://sunsite.bilkent.edu.tr/pub/apache/httpd/httpd-2.2.9.tar.gz


# tar zxf httpd-2.2.9.tar.gz -C /usr/src
# cd /usr/src/httpd-2.2.9
# ./configure    --prefix=/usr/local/apache  --enable-so --enable-mods-shared=all --enable-

rewrite --enable-ssl --with-ssl=/usr/lib  --enable-auth-digest --enable-cgi --enable-suexec --

with-suexec-caller=daemon --with-suexec- docroot=/usr/local/apache/htdocs 
# make && make install
# cd /usr/local/apache/conf
# ls
# cp httpd.conf httpd.conf.bak
# grep -v "#" httpd.conf.bak   | grep -v "^$" > httpd.conf
# cd /usr/local/apache/htdocs
# vi /usr/local/apache/conf/httpd.conf            (在最后编写)

Listen 81
NameVirtualHost  192.168.1.2
<VirtualHost 192.168.1.2:81>
        DocumentRoot         /usr/local/apache/htdocs
        ServerName           www.benet.com
        ErrorLog             logs/www.benet.com.error.log
        CustomLog            logs/www.benet.com.access.log     common
</VirtualHost>


在浏览器中访问:http://www.benet.com:81

2、安装mysql


下载:百度中搜索:mysql for linux 即可


# useradd -M -s /sbin/nologin  mysql
# tar zxf mysql-5.0.56.tar.gz -C /usr/src
# cd /usr/src/mysql-5.0.56
# ./configure --prefix=/usr/local/mysql
# make
# make install
# cp support-files/my-medium.cnf /etc/my.cnf
# /usr/local/mysql/bin/mysql_install_db --user=mysql
# chown -R root.mysql /usr/local/mysql/
# chown -R mysql /usr/local/mysql/var
# echo "/usr/local/mysql/lib/mysql"  >> /etc/ld.so.conf
# ldconfig
# /usr/local/mysql/bin/mysqld_safe  --user=mysql &
# 回车(Enter键)
# netstat -ntpl | grep 3306
# cp support-files/mysql.server  /etc/init.d/mysqld
# chmod +x /etc/init.d/mysqld
# chkconfig --add mysqld
# chkconfig --level 35 mysqld on
# export PATH=$PATH:/usr/local/mysql/bin
# echo "PATH=$PATH:/usr/local/mysql/bin"   >>  /etc/profile
# mysqladmin -u root password "123456"
# mysql -u root -p

 

3、安装php


下载地址:http://www.php.net/downloads/


ftp://ftp.gnome.org/pub/GNOME/sources/libxml2/2.6/libxml2-2.6.30.tar.gz
http://prdownloads.sourceforge.net/mcrypt/libmcrypt-2.5.8.tar.gz
http://sourceforge.net/projects/libpng/files/zlib/1.2.3/zlib-1.2.3.tar.gz  
http://www.dnaphp.com/downloads/server/linux/18-gd-2-0-35-tar   (gd)
ftp://ftp.gnu.org/gnu/autoconf/autoconf-2.61.tar.gz
http://download.savannah.gnu.org/releases/freetype/freetype-2.3.5.tar.gz
http://sourceforge.net/projects/libpng/files/libpng15/1.5.6/libpng-1.5.6.tar.gz  
http://www.imagemagick.org/download/delegates/jpegsrc.v7.tar.gz   
http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.13.1.tar.gz  
http://ftp.gnu.org/pub/gnu/gettext/gettext-0.18.1.1.tar.gz

 

所需库文件安装:


# tar zxvf libxml2-2.6.30.tar.gz                 
# cd libxml2-2.6.30                            
# ./configure --prefix=/usr/local/libxml2
# make && make install                              


# tar zxvf libmcrypt-2.5.8.tar.gz                  
# cd libmcrypt-2.5.8                            
# ./configure --prefix=/usr/local/libmcrypt
# make && make install                             
# cd /usr/local/src/libmcrypt-2.5.8/libltdl 
# ./configure  --enable-ltdl-install    
# make && make install                                


# tar zxvf zlib-1.2.3.tar.gz                 
# cd zlib-1.2.3                             
# ./configure --prefix=/usr/local/zlib
# make && make install                                    
 

# tar zxvf libpng-1.2.31.tar.gz                
# cd libpng-1.2.31                           
# ./configure --prefix=/usr/local/libpng
# make && make install                       
                     
安装GD2库前所需的jpeg6库文件,需要自己手动地创建安装需要的目录,它们在安装时不能自动创建。

# mkdir /usr/local/jpeg7                      //建立jpeg6软件安装目录
# mkdir /usr/local/jpeg7/bin                  //建立存放命令的目录
# mkdir /usr/local/jpeg7/lib                  //创建jpeg6库文件所在目录
# mkdir /usr/local/jpeg7/include              //建立存放头文件目录
# mkdir -p /usr/local/jpeg7/man/man1          //建立存放手册的目录
# tar zxvf jpegsrc.v7.tar.gz                  
# cd jpeg-v7                               
# ./configure --prefix=/usr/local/jpeg7 --enable-shared --enable-static


注:
--enable-shared                                    //建立共享库使用的GNU的libtool
--enable-static                                    //建立静态库使用的GNU的libtool
 
# make && make install                                             
 

# tar zxvf freetype-2.3.5.tar.gz                           
# cd  freetype-2.3.5                                  
# ./configure --prefix=/usr/local/freetype
# make && make install                                   
 

# tar zxvf autoconf-2.61.tar.gz                         
# cd autoconf-2.61                                  
# ./configure                              
# make && make install                                  


# tar zxvf libiconv-1.13.tar.gz
# cd libiconv-1.13/
# ./configure --prefix=/usr/local/libiconv
# make && make install


# tar xzf gettext-0.17.tar.gz
# cd gettext-0.17
# ./configure
# make && make install


# tar zxvf gd-2.0.35.tar.gz                     
# cd gd-2.0.35                             
# ./configure --prefix=/usr/local/gd2 --with-zlib=/usr/local/zlib --with-jpeg=/usr/local/jpeg7 -

-with-png=/usr/local/libpng --with-freetype=/usr/local/freetype                        
# make && make install                                   


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

....

AddType  application/x-httpd-php  .php

....

DirectoryIndex    index.php    index.html 

:wq

# tar jxf php-5.2.6.tar.bz2 -C /usr/src
# cd /usr/src/php-5.2.6
# ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-

apxs2=/usr/local/apache2/bin/apxs --with-mysql=/usr/local/mysql --with-libxml-

dir=/usr/local/libxml2 --with-png-dir=/usr/local/libpng --with-jpeg-dir=/usr/local/jpeg7 --with-

freetype-dir=/usr/local/freetype --with-gd=/usr/local/gd2 --with-zlib-dir=/usr/local/zlib --with

-mcrypt=/usr/local/libmcrypt --with-mysqli=/usr/local/mysql/bin/mysql_config --enable-soap --

enable-mbstring=all --enable-sockets  
# make && make install
# cp php.ini-dist  /usr/local/php/etc/php.ini
# vi /usr/local/php/etc/php.ini

extension_dir="/usr/lib/php/modules"        (原为extension_dir="./" )

:wq

# setenforce 0
# chcon -c -v -R -u system_u -r object_r -t textrel_shlib_t /usr/local/apache/modules/libphp5.so
# /usr/local/apache/bin/apachectl restart
# setenforce 1


测试:

# vi /usr/local/apache/htdocs/test.php

<?php
phpinfo();
?>

:wq

# /usr/local/apache/bin/apachectl restart


访问:http://www.benet.com/test.php

 

二、安装tomcat

1、安装JDK

下载 jdk-7-linux-i586.rpm

http://java.sun.com/javase/downloads/index.jsp

# rpm –ivh jdk-7-linux-i586.rpm   
  
# vi ~/.bash_profile  
JAVA_HOME=/usr/java/jdk1.7.0  
CLASSPATH=$JAVA_HOME/lib:$JAVA_HOME/jre/lib  
PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin  
export PATH CLASSPATH JAVA_HOME 

使环境变量立刻生效

# source ~/.bash_profile
# source /etc/profile

# java -version (jdk的版本为jdk1.4.2则表示jdk已成功安装)。 

2、安装Tomcat 

下载apache-tomcat-6.0.10.tar.gz 

http://jakarta.apache.org/tomcat

# tar zxf apache-tomcat-6.0.10.tar.gz -C /usr/src
# mv /usr/src/apache-tomcat-6.0.10   /usr/src/tomcat 

# /usr/src/tomcat/bin/startup.sh           (启动tomcat)  
                或
# /usr/src/tomcat/bin/catalina.sh start

Using CATALINA_BASE: /usr/local/tomcat  
Using CATALINA_HOME: /usr/local/tomcat  
Using CATALINA_TEMDIR: /usr/local/tomcat/temp  
Using JAVA_HOME: /usr/java/jdk1.6.0_01 

# /usr/src/tomcat/bin/catalina.sh start/stop  (启动/关闭tomcat)

到此tomcat已经安装完成,现在使用浏览器访问 http://localhost:8080,出现tomcat默认页面,


系统重启后自动启动Tomcat:

[root@tpwb ~]# vi /etc/rc.d/rc.local

#!/bin/sh
#
# This script will be executed *after* all the other init scripts.
# You can put your own initialization stuff in here if you don’t
# want to do the full Sys V style init stuff.

touch /var/lock/subsys/local

export JDK_HOME=/usr/java/jdk1.7.0
export JAVA_HOME=/usr/java/jdk1.7.0
/usr/src/tomcat/bin/catalina.sh start

 

设置虚拟主机:


# vi /usr/src/tomcat/conf/server.xml

<Host name="www.benet.com" debug="0" appBase="/usr/local/apache/htdocs" unpackWARs="true"

autoDeploy="true" xmlValidation="false"  xmlNamespaceAware="false"> 

     <Context path="" docBase="." debug="0" reloadable="true" crossContext="true"/>  
     <Valve className="org.apache.catalina.vales.AccessLogValve" directory="logs"

prefix="www.benet.com_access_log." pattern="common" suffix=".txt" 
timestamp="true"/> 
      </Host>


# vi /usr/local/apache/htdocs/hello.jsp

<% out.println("Hello World!"); %>

 

浏览器中访问:http://www.benet.com/hello.jsp  

 

三、安装nginx


Nginx ("engine x") 是一个高性能的 HTTP 和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 代理服务器。


http://blog.s135.com/soft/linux/nginx_php/nginx/nginx-0.7.51.tar.gz
http://blog.s135.com/soft/linux/nginx_php/pcre/pcre-7.8.tar.gz
 
# tar zxvf pcre-7.9.tar.gz
# cd pcre-7.9
# ./configure
# make && make install 
# tar zxf nginx-0.7.51.tar.gz
# cd nginx-0.7.51
# ./configure
# make && make install

nginx安装成功后的安装目录为/usr/local/nginx
 
 配置虚拟主机

 # vi usr/local/nginx/conf/nginx.conf

在http中加上server {
        listen       80;
        charset utf8;
        server_name  www.benet.com;
        root  /usr/local/apache/htdocs;
        index  index.html index.php index.jsp;
        
        location ~ \.jsp$
        {
         proxy_pass   http://127.0.0.1:8080;
}
  
         location ~ \.php$
         {
          proxy_pass   http://127.0.0.1:81;
}
        
    }


启动nginx:

# /usr/local/nginx/sbin/nginx


在浏览器中访问:http://www.benet.com   和  http://www.benet.com/hello.jsp   和   

http://www.benet.com/test.php

本文转自linux博客51CTO博客,原文链接http://blog.51cto.com/yangzhiming/834935如需转载请自行联系原作者


yangzhimingg

相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
|
2月前
|
Java 应用服务中间件 Shell
Nginx+Keepalived+Tomcat 实现Web高可用集群
Nginx+Keepalived+Tomcat 实现Web高可用集群
76 0
|
4月前
|
Ubuntu 前端开发 JavaScript
技术笔记:Ubuntu:一个部署好的tomcat应用(war包)怎么用Nginx实现动静分离?
技术笔记:Ubuntu:一个部署好的tomcat应用(war包)怎么用Nginx实现动静分离?
|
2月前
|
前端开发 Java 应用服务中间件
在Linux中,tomcat和nginx的区别是什么?
在Linux中,tomcat和nginx的区别是什么?
|
2月前
|
缓存 负载均衡 Java
Tomcat多实例及nginx反向代理tomcat
运行多个Tomcat实例并使用nginx作为反向代理
33 3
|
5月前
|
负载均衡 前端开发 应用服务中间件
Nginx+Tomcat负载均衡配置_nginx做tomcat的负载均衡成功,但tomcat的css文件400
Nginx+Tomcat负载均衡配置_nginx做tomcat的负载均衡成功,但tomcat的css文件400
|
5月前
|
负载均衡 前端开发 应用服务中间件
Nginx+Tomcat负载均衡配置_nginx做tomcat的负载均衡成功,但tomcat的css文件400(2)
Nginx+Tomcat负载均衡配置_nginx做tomcat的负载均衡成功,但tomcat的css文件400(2)
|
5月前
|
关系型数据库 MySQL 应用服务中间件
centos7在线安装jdk1.8+tomcat+mysql8+nginx+docker
现在,你已经成功在CentOS 7上安装了JDK 1.8、Tomcat、MySQL 8、Nginx和Docker。你可以根据需要配置和使用这些服务。请注意,安装和配置这些服务的详细设置取决于你的具体需求。
467 2
|
5月前
|
运维 前端开发 Java
Tomcat详解(八)——Tomcat与Nginx实现动静分离
Tomcat详解(八)——Tomcat与Nginx实现动静分离
54 6
|
5月前
|
运维 Java 应用服务中间件
Nginx+Tomcat动静分离及Nginx优化(企业案例)
Nginx+Tomcat动静分离及Nginx优化(企业案例)
|
负载均衡 Java 应用服务中间件
小故事详解负载均衡技术的实现:从tomcat到Nginx
什么是负载均衡? 通俗一点讲,就是在高并发、大数据环境下给服务器减压的技术。负载均衡是任何一个有一定规模的互联网企业都会考虑的问题,负载方式很多,有依靠硬件实现的,也有依靠软件实现负载的。 今天来聊聊使用软件来负载的方式。
20637 0