windows2008下的tomcat服务

 需求:JDK1.8.152 + tomcat8.5.30 + mysql5.7.23 + redis3.0.503(哨兵模式) + nginx1.12.2(前端代理)

本次所有应用安装在一台硬件设备上,有需求的自己拆分吧!!!

所用软件包下载地址:

链接:https://pan.baidu.com/s/1lrNFrbOCOXZi5TMTv4thqA
提取码:sq7k

1、nginx安装

下载地址:https://nginx.org/en/download.html

nginx主要做反向代理用,可以单独部署到其它机器上,这里nginx和tomcat部署在同一台机器上。

下载nginx-1.12.2.zip,并解压到目标目录,打开cmd进入到解压后的目录

 停止、启动、重启的命令如下:

PS C:\Users\Administrator> cd D:\nginx-1.12.2
PS D:\nginx-1.12.2> start .\nginx.exe
PS D:\nginx-1.12.2> .\nginx.exe -s stop
PS D:\nginx-1.12.2> .\nginx.exe -s reload

 注释:需要开发出站规则 tcp 80端口

1.1、自动启动(不是必须的) 

使用于win2008版本;适用于win2012/2016的往后看

上边的已经可以启动nginx服务器了,但问题是当系统重启后需要手动重启才行;

软件下载地址:https://github.com/kohsuke/winsw/releases     下载软件WinSW.NET4.exe

 .NET4 下载地址:http://download.microsoft.com/download/E/2/1/E21644B5-2DF2-47C2-91BD-63C560427900/NDP452-KB2901907-x86-x64-AllOS-ENU.exe      .net4.0  

注释:需要先安装.NET4 

  1、把下载的WinSW.NET4.exe文件拷贝到nginx的安装目录下并重命名为nginx-server.exe;然后再同级目录见一个nginx-service.xml 

<!-- nginx-service.xml -->
<service>
    <id>nginx</id>
    <name>nginx</name>
    <description>nginx</description>
    <logpath>D:\nginx-1.12.2\</logpath>
    <logmode>roll</logmode>
    <depend></depend>
    <executable>D:\nginx-1.12.2\nginx.exe</executable>
    <stopexecutable>D:\nginx-1.12.2\nginx.exe -s stop</stopexecutable>
</service>

 

1.2、结果如下:

 

1.2、系统是win2012/2016

1、下载winsw https://repo.jenkins-ci.org/artifactory/releases/com/sun/winsw/winsw/2.9.0/winsw-2.9.0-bin.exe  重命名nginx-service.exe

2、需要先安装.net 3.0,一路下一步到此,选中net 3.5 

 

先点击安装,如安装失败再指定路径

 将win2012r2的镜像文件中sources下面的sxs文件夹拷贝到系统,如D:\soft\sxs;指定备用源路径:

 直至安装完成。

 

4、编辑文件

 

 

<?xml version="1.0" encoding="UTF-8" ?>
<service>
 <id>Nginx</id>
 <name>Nginx</name>
 <description>本服务用于加载Nginx服务,请确保开机启动。</description>
 <logpath>D:\tools\nginx-1.22.0\logs</logpath>
 <executable>nginx.exe</executable>
 <stopexecutable>nginx.exe</stopexecutable>
 <stopargument>-s</stopargument> 
 <stopargument>stop</stopargument>
 <logmode>rotate</logmode>
</service>

 

 

5、然后打开dos窗口

D:\tools\nginx-1.22.0>nginx-service.exe install

 

1.2、如需代理

#user  nobody;
worker_processes  4;

events {
    worker_connections  10240;
}


http {
    include       mime.types;
    default_type  application/octet-stream;

    sendfile        on;
    keepalive_timeout  65;
    #gzip  on;

    upstream node {
    server localhost:8081;
    }

    server {
        listen       80;
        server_name  localhost;
        client_max_body_size 204M;

        location / {    
        proxy_pass http://node;
        include proxy.conf;    
        }
        
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

    }

    # HTTPS server
    #
    #server {
    #    listen       443 ssl;
    #    server_name  localhost;

    #    ssl_certificate      cert.pem;
    #    ssl_certificate_key  cert.key;

    #    ssl_session_cache    shared:SSL:1m;
    #    ssl_session_timeout  5m;

    #    ssl_ciphers  HIGH:!aNULL:!MD5;
    #    ssl_prefer_server_ciphers  on;

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

}
nginx.conf 
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_connect_timeout 60;
proxy_send_timeout 60;
proxy_read_timeout 60;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
proxy.conf

 

 

2、jdk安装

下载地址:https://www.oracle.com/java/technologies/downloads/#java8-windows

本文以安装JDK1.8做演示,下载jdk-8u152-windows-x64.exe,双击运行安装,本机安装的目录是C:\Program Files\Java

系统环境变量可以设置,也可以不设置。

这里不设置,假如你有多个tomcat需要用到不同的JDK版本,建议不要设置系统环境变量,而是更改tomcat的配置文件来指定该tomcat使用哪个版本的JDK。

 

可以写入系统环境变量里(如果写入系统变量里,3.1和3.2步骤就不需要再操作了),但我这里不写了
JAVA_HOME      C:\Program Files\Java\jdk1.8.0_152
Path  最后追加:;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin

  

3、tomcat安装

下载apache-tomcat-8.5.30-windows-x64.zip,并解压。

3.1、编辑 bin/setclasspath.bat ,增加以下两行内容,设置使用的JDK环境变量

set "JAVA_HOME=C:\Program Files\Java\jdk1.8.0_152"
set "JRE_HOME=C:\Program Files\Java\jre1.8.0_152"

效果如下图:

 

3.2、编辑 bin/service.bat 设置使用的JDK环境变量

set "JAVA_HOME=C:\Program Files\Java\jdk1.8.0_152"
set "JRE_HOME=C:\Program Files\Java\jre1.8.0_152"

 效果如下图:

 

3.3、编辑 bin/startup.bat ,第56行,从start改为run

这样设置后,运行tomcat后,日志就不会实时显示到tomcat运行窗口了,如果使用默认(每个tomcat进程都输出到tomcat窗口)的话,起多个tomcat进程后,之前的所有tomcat进程都会被挤掉。 

call "%EXECUTABLE%" run %CMD_LINE_ARGS%

效果如下图:

 

3.4、编辑 bin/catalina.bat

使日志保存在当天的日志文件中,而不是从始至终都保存在catalina.out里,造成该文件过大

在第359、362、366、369行(每行都添加下)添加如下内容

>> %CATALINA_HOME%\logs\catalina.%date:~0,4%-%date:~5,2%-%date:~8,2%.out

效果如下图:

 

3.5、安装tomcat 服务作为系统进程

如果只有一个实例运行可以直接注册服务;如果后期需要运行多个tomcat实例,每个实例都需要调整jvm堆内存大小,就需要编辑下注册服务程序内容。

1、编辑bin/service.bat
42行 set DEFAULT_SERVICE_NAME=Tomcat9  建议修改成项目名,这里随意起个名333
   
2、重命名:
/bin/Tomcat9.exe 和/bin/Tomcat9w.exe
更名为
/bin/333.exe   和 /bin/333w.exe

3、然后注册为服务:
C:\tools\tomcat-9\bin>.\service.bat install
Installing the service '333' ...
Using CATALINA_HOME:    "C:\tools\tomcat-9"
Using CATALINA_BASE:    "C:\tools\tomcat-9"
Using JAVA_HOME:        "C:\Program Files\Java\jdk1.8.0_152"
Using JRE_HOME:         "C:\Program Files\Java\jdk1.8.0_152\jre"
Using JVM:              "C:\Program Files\Java\jdk1.8.0_152\jre\bin\server\jvm.d
ll"
The service '333' has been installed.
C:\tools\tomcat-9\bin> 

注释:然后可以点击333w.exe 程序内的java项来设置jvm初始内存大小

 

 

 

 3.6、删除已作为系统进程的tomcat服务

某些情况下,不想作为系统进程开机自启动,或是标识名字写错了,删除重建是有必要的

sc delete 服务名称

 

说明一下tomcat的几个默认端口号:

conf/server.xml

   STARTUP:8080

    DOWN:8005

   AJP:8009 这个基本没用,可以把第116行注释掉

 

 3.7、验证tomcat服务是否正常

1 确保tomcat服务已启动,运行services.msc查找tomcat服务是否启动;
2 打开cmd,查看8080端口有没有在监听;
3 打开IE浏览器,访问http://127.0.0.1:8080/,能否出现tomcat首页
4 如果都正常,恭喜你,已经顺利完成了第1个tomcat站点的部署;
5 如果其中一项有问题的话,去logs目录下,查看日志,解决报错,重新启动

 

 

4、手动新建tomcat站点

4.1、创建站点目录

 

 4.2、复制程序

 

 4.3、修改conf/server.xml,更改STARTUP 端口号、DOWN 端口号

sed -i  "s/8080/8081/g  "D:\tomcat-oa-8.5.30\conf\server.xml 
sed -i  "s/8005/8006/g  "D:\tomcat-oa-8.5.30\conf\server.xml 

 

 4.4、修改log名称

修改conf/server.xml,更改域名

注释:

这里新创建的tomcat,使用的还是JDK1.8

如果想换其它版本的JDK的话,请参考上文修改相应的配置文件

 

<Context path="" docBase="D:\webserver\360.oa.com.8081\" crossContext="true" privileged="true" reloadable="true" >
</Context>

4.6、测试结果

注意:需要修改修改成index.jsp 才能自动识别;可以在后边输入 探针全名也是可以看的

 

 

5、mysql安装

 

 注释:选择自定义安装----主要是选择安装路径,这里选择D盘安装mysql服务;

以管理员身份打开cmd,依次执行下面语句:
1,cd 'D:\MySQL\MySQL Server 5.7\bin'2,mysqld.exe -install
3,mysqld.exe --initialize-insecure
4. 去【服务】里找到MySQL,右键启动
5. netstat -an    看有没有3306


此时就可以通过DOS窗口进入mysql了。

 5.2、修改sql——mode权限

这是之前的

 

修改方法:

[mysqld]
character_set_server=utf8
init_connect='SET NAMES utf8'
default_storage_engine  = InnoDB
server_id               = 109

log_error               = "D:\MySQL\MySQL Server 5.7\logs\Mysql_error.log"
slow_query_log          = 1
slow_query_log_file     = "D:\MySQL\MySQL Server 5.7\logs\Mysql_slow.log"
log-bin                 = mysql-bin
binlog_format           = mixed
max_binlog_size         = 1G
binlog_cache_size       = 2M
expire_logs_days        = 30
long_query_time         = 10

query_cache_type        = 0
query_cache_size        = 0
max_connections         = 6000
max_connect_errors      = 10000
thread_cache_size       = 256
open_files_limit        = 65535
group_concat_max_len    = 1024000


symbolic-links=0
sql_mode                                ='STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION'

 

再次查看

 

 5.3、修改本地登陆密码、远程权限和关闭远程登陆

###########root用户开启远程链接-慎用############
#开启远程连接   root 用户名    % 只有11段的连接可以访问(IP)    password 密码
GRANT ALL PRIVILEGES ON *.* TO 'root'@'11.11.11.%' IDENTIFIED BY 'password' WITH GRANT OPTION;

刷新缓存:
FLUSH PRIVILEGES; 

重起mysql服务
service mysqld restart
############关闭远程连接##############
如果您想关闭远程连接,恢复mysql的默认设置(只能本地连接),您可以通过以下步骤操作:
#将root用户连接方式设置为localhost表示只能本地连接mysql 
update user set host='localhost' where user='root';
flush privileges;        #刷新权限表,使配置生效

注释:参考链接:https://blog.csdn.net/netuser1937/article/details/53782921
https://www.cnblogs.com/keli/p/6964968.html

**************上边只供远程密码访问,下边修改本地密码***********
法一:
mysql> update mysql.user set authentication_string=password('123qwe') where user='root' and Host = 'localhost';

法二:
mysql> alter user 'root'@'localhost' identified by '123';

法三:
mysql> set password for 'root'@'localhost'=password('123');

记得最后要刷新权限
mysql> flush privileges;

 注释:这些都是宽松的授权模式;最好做到:用户专库专用,授权也需要加以限制,不能是all,具体需要什么权限可以问开发。

5.6、删除已作为服务的mysql

卸载
mysqld --remove mysql   
注释:注意直接卸载会报错服务在运行,需要先停止服务,然后卸载。
https://blog.csdn.net/ooooooobh/article/details/78677265

 

 

6、redis安装(主从带哨兵)

下载地址:windows redis: https://github.com/ServiceStack/redis-windows/tree/master/downloads

https://blog.csdn.net/u010648555/article/details/79427606

 

6.1、redis主从设置(一主一从

6.2、修改redis.windows.conf

6379文件夹,不做修改!(

6380文件夹,修改如下: (

port 6380

# slaveof <masterip> <masterport>
slaveof 127.0.0.1 6379

 

 

6.3、注册成系统服务

.\redis-server.exe --service-install .\redis.windows.conf --Service-name RedisServer1 --loglevel verbose

 

 注释:先启动主再启动从

 6.4、查看主从结果

 

 

 

6.5、部署哨兵

 根据安装和基本配置,已经有了主从配置 ,对应文件夹redis-3.0.503-6379   redis-3.0.503-6380 ;然后在每个文件夹下面新增 一个名为 sentinel.conf 的文件。配置内容如下:

主的sentinel.conf的配置如下:

bind 127.0.0.1
port 26379
sentinel monitor mymaster 127.0.0.1 6379 2
sentinel auth-pass mymaster 123456
logfile "log/sentinel.log"
# Generated by CONFIG REWRITE
sentinel config-epoch mymaster 7
sentinel leader-epoch mymaster 7
daemonize yes

 

从的sentinel.conf的配置如下:

bind 127.0.0.1
port 26380
sentinel monitor mymaster 127.0.0.1 6379 2
sentinel auth-pass mymaster 123456
logfile "log/sentinel.log"
# Generated by CONFIG REWRITE
sentinel config-epoch mymaster 7
sentinel leader-epoch mymaster 7
daemonize yes

 

6.6、启动哨兵

PS D:\Program Files\redis-64.3.0.503> .\redis-cli.exe -h 10.155.0.75 -p 6379 -a 123456
PS D:\Program Files\redis-64.3.0.503> .\redis-server.exe .\sentinel.conf --sentinel


PS D:\Program Files\redis-64.3.0.503-26380> .\redis-cli.exe -h 10.155.0.75 -p 6380 -a 123456
PS D:\Program Files\redis-64.3.0.503-26380> .\redis-server.exe .\sentinel.conf --sentinel

 

 

6.7、测试

 

 

 

 

 

 

 

附录:

https://www.microsoft.com/zh-CN/download/confirmation.aspx?id=42642

redis:  https://www.cnblogs.com/panter/p/6801210.html
https://www.cnblogs.com/joyet/p/6103041.html
https://github.com/ServiceStack/redis-windows/tree/master/downloads 下载 https://www.cnblogs.com/springlight/p/6288902.html 设置密码 requirepass "123456" masterauth "123456" maxmemory 400mb

 

posted @ 2019-01-16 11:02  无敌仙人掌  阅读(353)  评论(0编辑  收藏  举报
AmazingCounters.com