centos7最小版本安装nginx+tomcat+java+mysql运行环境

  最近项目从windows搬到linux,由于项目组成员有限并且有其它紧急的任务需要处理,因而这个任务就落到我的头上了。下面记录下centos最小版本安装nginx+tomcat+mysql+java的运行环境。

  • centos7 minimal安装

  参考:http://www.tecmint.com/centos-7-installation/

  • 安装java

  下载Java,可到oracle官网获取相应的连接

wget http://download.oracle.com/otn-pub/java/jdk/7u79-b15/jdk-7u79-linux-x64.tar.gz?AuthParam=1456375809_50db5985ac01ede6091b467add0b89b2
# 改名:
mv jdk-7u79-linux-x64.tar.gz?AuthParam=1456375809_50db5985ac01ede6091b467add0b89b2 jdk-7u79-linux-x64.tar.gz
# 解压:
tar -zxvf jdk-7u79-linux-x64.tar.gz
# 更换目录:
mv ./jdk1.7.0_79 /usr/local/ jdk1.7.0_79

  添加到环境变量

root@localhost java]# vi /etc/profile
# 在export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL下添加

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

  执行

source /etc/profile

  使环境变量生效

  查看是否安装成功

[root@localhost jdk1.7.0_79]# java -version
java version "1.7.0_79"
Java(TM) SE Runtime Environment (build 1.7.0_79-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.79-b02, mixed mode)
  • 安装tomcat
# 创建用户
groupadd tomcat
useradd -s /bin/bash -g tomcat tomcat

# 下载:
wget http://apache.opencas.org/tomcat/tomcat-7/v7.0.68/bin/apache-tomcat-7.0.68.tar.gz
# 解压:
tar -zxvf apache-tomcat-7.0.68.tar.gz
# 复制:
cp -R ./apache-tomcat-7.0.68 /usr/local
cd /usr/local/apache-tomcat-7.0.68
# 修改权限:
chown -R tomcat:tomcat apache-tomcat-7.0.68
# 启动:
sh ./bin/startup.sh

  将8080端口添加到防火墙例外并重启

firewall-cmd --zone=public --add-port=8080/tcp --permanent
firewall-cmd --reload

  访问:http://IP:8080/,熟悉的感觉

  • 安装Mysql
# 创建用户
groupadd mysql
useradd -g mysql -s /sbin/nologin -d /dev/null mysql
# 查看mysql用户id mysql
# 下载:
wget http://cdn.mysql.com//Downloads/MySQL-5.7/mysql-5.7.11-linux-glibc2.5-x86_64.tar.gz
tar -zxvf mysql-5.7.11-linux-glibc2.5-x86_64.tar.gz
mv mysql-5.7.11-linux-glibc2.5-x86_64 /usr/local/mysql
chown -R mysql:mysql mysql
cd /usr/local/mysql
mkdir /data
cd /data
mkdir mysql
cd mysql
mkdir -p mysql3306/{logs,tmp,data}
cp /usr/local/mysql/support-files/my-default.cnf /data/mysql/mysql3306/my.cnf

vi /data/mysql/mysql3306/my.cnf
# 修改# 指定data目录
datadir=/data/mysql/mysql3306/data/
# 指定监听端口port=3306# 表名忽略大小写
lower_case_table_names=1

 

  初始化mysql,(注意获取初始化密码),命令安装也可参考:centos7 安装mysql5.7.11注意事项

 

[root@localhost mysql]# bin/mysqld --defaults-file=/data/mysql/mysql3306/my.cnf --initialize
2016-02-26T10:28:43.821897Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2016-02-26T10:28:43.822126Z 0 [Warning] 'NO_ZERO_DATE', 'NO_ZERO_IN_DATE' and 'ERROR_FOR_DIVISION_BY_ZERO' sql modes should be used with strict mode. They will be merged with strict mode in a future release.
2016-02-26T10:28:43.822138Z 0 [Warning] 'NO_AUTO_CREATE_USER' sql mode was not set.
2016-02-26T10:28:44.311120Z 0 [Warning] InnoDB: New log files created, LSN=45790
2016-02-26T10:28:44.411026Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
2016-02-26T10:28:44.492963Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: b671cd20-dc73-11e5-abe1-000c29c3b190.
2016-02-26T10:28:44.495657Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
2016-02-26T10:28:44.511137Z 1 [Note] A temporary password is generated for root@localhost: fUVd&7p,qbf0
# 此处需要注意root用户生成的随机密码,后面要用到。

 

  启动mysql

 

 bin/mysqld --defaults-file=/data/mysql/mysql3306/my.cnf --user=root

 

  设置root用户密码

[root@localhost mysql]# ./bin/mysqladmin -uroot -p password
Enter password:
New password:
Confirm new password:
Warning: Since password will be sent to server in plain text, use ssl connection to ensure password safety.

  编辑/etc/profile,将mysql添加到环境变量(可参考java添加环境变量的方法)

 

export PATH=$PATH:/usr/local/mysql/bin/

 

  • 安装nginx

  安装依赖库

 

yum -y install gcc-c++
yum -y install pcre pcre-devel
yum -y install zlib zlib-devel
yum -y install openssl openssl-devel libssl-dev

 

  下载并解压

wget http://nginx.org/download/nginx-1.9.12.tar.gz
tar -zxvf nginx-1.9.12.tar.gz

  编译安装

./configure --sbin-path=/usr/local/nginx/nginx --conf-path=/usr/local/nginx/nginx.conf --pid-path=/usr/local/nginx/nginx.pid --with-http_ssl_module
make
make install

  如果没报错的话,查看是否安装成功

whereis nginx

  添加到防火墙例外

firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --reload

  启动nginx

 

/usr/local/nginx/nginx

 

  访问:http://IP/,熟悉的味道

 

 

  • Nginx和tomcat整合

  tomcat配置

###### Tomcat配置
# 创建tomcat项目默认目录
mkdir /home/www/web/jsp/
# 配置tomcat默认项目
# ./conf/server.xml中的Host节点中添加
<Context path="" debug="0" docBase="/home/www/web/jsp/" reloadable="true"></Context>
# 重启tomcat
/usr/local/apache-tomcat-7.0.68/bin/shutdown.sh
/usr/local/apache-tomcat-7.0.68/bin/startup.sh
# 创建index.jsp内容为“tomcat web project index page”

 

  http://IP:8080/

  

  创建test.html,内容为“tomcat test html”

  http://192.168.222.128:8080/test.html

  

  nginx配置

  创建nginx静态文件存放目录

 

mkdir /home/www/web/ROOT

 

  代理设置

[root@localhost nginx]# vi proxy.conf

#!nginx
# proxy.conf
proxy_redirect          off;
proxy_set_header        Host $host;
proxy_set_header        X-Real-IP $remote_addr;  #获取真实ip
#proxy_set_header       X-Forwarded-For   $proxy_add_x_forwarded_for; #获取代理者的真实ip
client_max_body_size    10m;
client_body_buffer_size 128k;
proxy_connect_timeout   90;
proxy_send_timeout      90;
proxy_read_timeout      90;
proxy_buffer_size       4k;
proxy_buffers           4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;

  配置nginx.conf

 

#运行nginx所在的用户名和用户组
#user  www www;

#启动进程数
worker_processes 8;
#全局错误日志及PID文件
error_log  /usr/local/nginx/logs/nginx_error.log  crit;

#pid        /usr/local/nginx/nginx.pid;

#Specifies the value for maximum file descriptors that can be opened by this process.

worker_rlimit_nofile 65535;
#工作模式及连接数上限
events
{
        use epoll;
        worker_connections 65535;
}
#设定http服务器,利用它的反向代理功能提供负载均衡支持
http
{
        #设定mime类型
        include       mime.types;
        default_type  application/octet-stream;
        include /usr/local/nginx/proxy.conf;
        #charset  gb2312;
        #设定请求缓冲
        server_names_hash_bucket_size 128;
        client_header_buffer_size 32k;
        large_client_header_buffers 4 32k;
        #client_max_body_size 8m;

        sendfile on;
        tcp_nopush     on;

        keepalive_timeout 60;

        tcp_nodelay on;

        #  fastcgi_connect_timeout 300;
        #  fastcgi_send_timeout 300;
        #  fastcgi_read_timeout 300;
        #  fastcgi_buffer_size 64k;
        #  fastcgi_buffers 4 64k;
        #  fastcgi_busy_buffers_size 128k;
        #  fastcgi_temp_file_write_size 128k;

        #  gzip on;
        #  gzip_min_length  1k;
        #  gzip_buffers     4 16k;
        #  gzip_http_version 1.0;
        #  gzip_comp_level 2;
        #  gzip_types       text/plain application/x-javascript text/css application/xml;
        #  gzip_vary on;

        #limit_zone  crawler  $binary_remote_addr  10m;
        ###禁止通过ip访问站点
        #server{
        #       server_name _;
        #       return 404;
        #}

        server
        {
                listen       80;
                server_name  localhost;
                index index.html index.htm index.jsp;#设定访问的默认首页地址
                root  /home/www/web/ROOT;#设定网站的资源存放路径

                #limit_conn   crawler  20;   

                location / {
                        index   index.html index.jsp;
                }        

                location ~ .*.jsp$ #所有jsp的页面均交由tomcat处理
                {
                        index index.jsp;
                        proxy_pass http://192.168.222.128:8080;#转向tomcat处理
                }

                location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ #设定访问静态文件直接读取不经过tomcat
                {
                        expires      30d;
                }

                location ~ .*\.(js|css)?$
                {
                        expires      1h;
                }

                #定义访问日志的写入格式
                #log_format  access  '$remote_addr - $remote_user [$time_local] "$request" '
                #'$status $body_bytes_sent "$http_referer" '
                #'"$http_user_agent" $http_x_forwarded_for';
                #access_log  /usr/local/nginx/logs/localhost.log access;#设定访问日志的存放路径

        }
}

 

  检测配置文件

/usr/local/nginx/nginx -t
nginx: the configuration file /usr/local/nginx/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/nginx.conf test is successful

  平滑重启nginx

/usr/local/nginx/nginx -s reload

  /home/www/web/ROOT目录下创建test.html内容为“nginx static html”

  访问:http://IP/test.html

  此时访问的是nginx静态资源所在的目录

  http://IP/index.jsp

  

  此时html等静态文件访问的是nginx指定的静态文件目录,而jsp文件则分发到tomcat进行处理。

 

 

 

  • 服务自启动

  mysql自启动

 

1./usr/lib/systemd/system目录下新建mysql.service
    [Unit]
Description=mysql
After=syslog.target network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
#LimitNOFILE=max_open_files
PIDFile=/usr/local/mysql/mysql.pid
TimeoutSec=0
PermissionsStartOnly=true
ExecStartPre=/usr/local/mysql/
ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/data/mysql/mysql3306/my.cnf --user=mysql
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=false
#Nice=nice_level
#LimitCore=core_file_limit
#Environment="LD_PRELOAD=/usr/local/mysql/lib"
Restart=on-failure
RestartPreventExitStatus=1

[Install]
WantedBy=multi-user.target

 

  允许mysql开机启动

 

systemctl enable mysql

 

  检查配置是否成功

systemctl is-enabled mysql

  mysql开启慢查询

 

/data/mysql/mysql3306/my.cnf中添加
# 慢日志
slow_query_log=1
slow_query_log_file=/data/mysql/mysql3306/logs/localhost-slow.log
slow_launch_time=1

 

  nginx和tomcat自启动(和mysql类似,不再阐述)

 

 

 

时间: 2024-07-31 01:16:48

centos7最小版本安装nginx+tomcat+java+mysql运行环境的相关文章

CentOS7最小版本安装MySQL找不到Perl的依赖包 (但是我已经安装了ActivePerl-5.20)

问题描述 各位好,请教有谁熟悉centos下安装mysql的,遇到一个问题一直无法解决:centos7最小安装版本下rpm方式安装mysql,但是一直报缺少perl依赖,但是已经安装了.1.安装了ActivePerl-5.20在/opt/ActivePerl-5.20目录下2.已经配置path(/etc/profile)3.已经用in命令将perl从/opt/ActivePerl-5.20/bin/perl链接到/usr/bin目录4.在命令行下,任意目录执行perl -version,正常获取

php-安装xampp,但我之前学jsp已经安装了tomcat和mysql。会冲突吗?

问题描述 安装xampp,但我之前学jsp已经安装了tomcat和mysql.会冲突吗? 是学html5的时候讲了一下php,html5和php有很大关联吗? 解决方案 端口不冲突,应该就没问题 解决方案二: xampp 有绿色版的,用这个安装就不会.安装版的注意常用路径的修改,这点可能会注突(for windows system) 解决方案三: html5和php完全无关.html5只是一种视图技术,php是一种开发语言.他们互不影响

自己动手搭建Nginx+memcache+xdebug+php运行环境绿色版 For windows版

    Nginx比apache要好,优点很多,随便去搜寻引擎找一下就能找到一大把资料,这不是我们讨论的重点,我们的重点是自己做一个运行组合!     為何我不從網上下載一個別人已經封裝好的現成的版本呢?因為很多人封裝了之後就不在更新了,以後想要更新都不知道怎麼做,既然如此還不如自己好好研究一下自己封裝,將來要升級也不用求人,藝不壓身!      我说下我搭配的这个组合的特点: 主要構成: 1.Php 5.3 2.Nginx 1.3.6 3.Memcache 2.2.6 4.Xdebug v2.

讲解使用Docker搭建Java Web运行环境_docker

Docker 是一种"轻量级"容器技术,它几乎动摇了传统虚拟化技术的地位,现在国内外已经有越来越多的公司开始逐步使用 Docker 来替换现有的虚拟化平台了.作为一名 Java 程序员,我们是时候一起把 Docker 学起来了! 本文会对虚拟化技术与 Docker 容器技术做一个对比,然后引出一些 Docker 的名词术语,比如:容器.镜像等,随后将使用 Docker 搭建一个 Java Web 运行环境,最后将对本文做一个总结. 我们先来回顾一下传统虚拟化技术的体系架构: 可见,我们

Mysql运行环境优化(Linux系统)

这篇文章主要介绍了Mysql运行环境优化(Linux系统),本文优化了修改Linux默认的IO调度算法.扩大文件描述符.禁用numa特性.修改swappiness设置.优化文件系统挂载参数等配置,需要的朋友可以参考下 一.修改Linux默认的IO调度算法. linux默认的IO调度算法为cfq,需要修改为dealine,如果是SSD或者PCIe-SSD设备,需要修改为noop,可以使用下面两种修改方式. 1.在线动态修改,重启失效. 代码如下: echo "deadline" >

在Linux上优化Mysql运行环境让你对Mysql更多了解

  接触过Mysql的都是知道它是数据库,很多用户知道如何使用Mysql数据库,但对Mysql运行环境的优化却知之甚少,如果你想要掌握Mysql数据库,对Mysql运行环境的优化也要了解一些,下面小编就给大家介绍下Linux优化Mysql运行环境的方法. 一.修改Linux默认的IO调度算法. linux默认的IO调度算法为cfq,需要修改为dealine,如果是SSD或者PCIe-SSD设备,需要修改为noop,可以使用下面两种修改方式. 1.在线动态修改,重启失效. echo "deadli

arm下搭建java的运行环境---在线等

问题描述 如题:我想在arm环境下搭建一个java的运行环境.列举的越详细越好.首次接触arm,对arm一无所知.当前的arm的操作系统是linux. 解决方案 解决方案二:arm?什么东西?解决方案三:引用1楼xyylove520的回复: arm?什么东西? 我也不是很明白?arm是一种微处理器吧.我纳闷的是jdk为什么不能安装?从网上搜索得到的结果也不是很明白.说是要交叉编译等等之类的解决方案四:jdk装在linux下跟那个东西有关系啊?不了解,呵呵,坐等高人出现.解决方案五:引用3楼xyy

红旗Linux4.1下安装Apache+Tomcat+PHP+mySQL+vsFTPd实录

这几天试着在红旗Linux桌面版4.1下安装WEB+FTP服务器,已成功安装,现把我的安装过程介绍如下,以给有相似需求的网友参考.整个安装过程分为三大部分,分别是:一.Tomcat+mySQL的安装,二.Apache+PHP的安装,三.FTP(vsFTPd)的安装.其中,第一和第三部分都是独立的,但第二部分是在完成第一部分安装的基础上进行的. ---------------------------------- 第一部分 安装JDK+Tomcat+mySQL ------------------

ubuntu 12.04 安装 Nginx+PHP5 (PHP-FPM) +MySQL主机详解

很长时间没有在 Ubuntu 安装实际操作安装web服务器了,今天想练练手,在虚拟机上做个试验,我不该保证你也一定会成功,做参考吧! 现象我介绍一下基本系统情况: 虚拟机(Oracle VM) 操作系统 Ubuntu 12.04 server (该系统安装时我只选择了ssh server) 真机与虚拟机使用桥接方式 设置为静态IP:192.168.1.208 适情况个人设置 1.首先为了安装方便,我切换到root账户,输入命令: sudo su 2 安装 MySQL 5 apt-get inst