博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
centos7最小版本安装nginx+tomcat+java+mysql运行环境
阅读量:6457 次
发布时间:2019-06-23

本文共 9360 字,大约阅读时间需要 31 分钟。

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

  • centos7 minimal安装

  参考:

  • 安装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_79export PATH=$JAVA_HOME/bin:$PATHexport CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

  执行

source /etc/profile

  使环境变量生效

  查看是否安装成功

[root@localhost jdk1.7.0_79]# java -versionjava 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 tomcatuseradd -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/localcd /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 --permanentfirewall-cmd --reload

  访问:,熟悉的感觉

  • 安装Mysql
# 创建用户groupadd mysqluseradd -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.gztar -zxvf mysql-5.7.11-linux-glibc2.5-x86_64.tar.gzmv mysql-5.7.11-linux-glibc2.5-x86_64 /usr/local/mysqlchown -R mysql:mysql mysqlcd /usr/local/mysqlmkdir /datacd /datamkdir mysqlcd mysqlmkdir -p mysql3306/{logs,tmp,data}cp /usr/local/mysql/support-files/my-default.cnf /data/mysql/mysql3306/my.cnfvi /data/mysql/mysql3306/my.cnf# 修改 # 指定data目录datadir=/data/mysql/mysql3306/data/# 指定监听端口 port=3306 # 表名忽略大小写lower_case_table_names=1

 

  初始化mysql,(注意获取初始化密码),命令安装也可参考:

 

[root@localhost mysql]# bin/mysqld --defaults-file=/data/mysql/mysql3306/my.cnf --initialize2016-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=457902016-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 passwordEnter 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-develyum -y install zlib zlib-develyum -y install openssl openssl-devel libssl-dev

 

  下载并解压

wget http://nginx.org/download/nginx-1.9.12.tar.gztar -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_modulemakemake install

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

whereis nginx

  添加到防火墙例外

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

  启动nginx

 

/usr/local/nginx/nginx

 

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

 

 

  • Nginxtomcat整合

  tomcat配置

###### Tomcat配置# 创建tomcat项目默认目录mkdir /home/www/web/jsp/# 配置tomcat默认项目# ./conf/server.xml中的Host节点中添加
# 重启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.confproxy_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; #获取代理者的真实ipclient_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 -tnginx: the configuration file /usr/local/nginx/nginx.conf syntax is oknginx: 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=mysqlAfter=syslog.target network.target remote-fs.target nss-lookup.target [Service]Type=forking#LimitNOFILE=max_open_filesPIDFile=/usr/local/mysql/mysql.pidTimeoutSec=0PermissionsStartOnly=trueExecStartPre=/usr/local/mysql/ExecStart=/usr/local/mysql/bin/mysqld --defaults-file=/data/mysql/mysql3306/my.cnf --user=mysqlExecReload=/bin/kill -s HUP $MAINPIDExecStop=/bin/kill -s QUIT $MAINPIDPrivateTmp=false#Nice=nice_level#LimitCore=core_file_limit#Environment="LD_PRELOAD=/usr/local/mysql/lib"Restart=on-failureRestartPreventExitStatus=1[Install]WantedBy=multi-user.target

 

  允许mysql开机启动

 

systemctl enable mysql

 

  检查配置是否成功

systemctl is-enabled mysql

  mysql开启慢查询

 

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

 

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

 

 

 

转载地址:http://zfizo.baihongyu.com/

你可能感兴趣的文章
crtmpserver 在VS2010下的build
查看>>
过压保护(2)
查看>>
Android UI基础教程 目录
查看>>
美食杂志排行榜_百度知道
查看>>
让自制脚本随系统开机运行
查看>>
linux修改yum本地源的方法
查看>>
黄聪:WordPress默认编辑器可视化切换不见了,非插件导致消失问题
查看>>
Ubuntu 修改主机名
查看>>
css3制作左右拉伸动画菜单
查看>>
主成分分析 PCA算法原理
查看>>
园区交换网络和路由网络综合设计,测试完工啦
查看>>
Hive内部表外部表转化分析(装)
查看>>
javascript中typeof、undefined 和 null
查看>>
java数据库查询类
查看>>
车载导航系统中常用物理量和单位
查看>>
松体_百度百科
查看>>
Accessing an element's parent with ElementTree(转)
查看>>
过滤掉文本中的javascript标签代码
查看>>
比较偏门的JVM语言Quercus - PHP on JVM
查看>>
[转]laravel 4之视图及Responses
查看>>