LNMT架构部署:Linux+Nginx+Mysql+Tomcat

    • LNMT架构部署:Linux+Nginx+Mysql+Tomcat
      • LNMT架构图:
      • 环境描述:
      • 在IP为192.168.228.23的服务器上安装和配置nginx(这里我使用源码安装nginx)
      • nginx安装后配置
      • 在IP为192.168.228.23上安装mysql(这里我使用二进制安装)
      • 在192.168.228.30这台虚拟机配置两台tomcat项目部署
      • 安装jdk环境
      • tomcat部署
      • 配置nginx

LNMT架构部署:Linux+Nginx+Mysql+Tomcat

LNMT架构图:

LNMT架构部署:Linux+Nginx+Mysql+Tomcat_第1张图片

环境描述:

虚拟机准备两台,一台作为nginx服务器+mysql服务器,IP为:192.168.228.23;另外一台作为2台Tomcat服务器,IP为:192.168.228.30。客户端发来请求,首先由nginx处理,如果为静态内容直接由nginx响应,将结果直接给客户端;如果为动态内容,则由nginx反代至后端的Tomcat服务器。

在IP为192.168.228.23的服务器上安装和配置nginx(这里我使用源码安装nginx)

关闭防火墙和selinux

[root@yxr ~]# systemctl stop firewalld
[root@yxr ~]# systemctl disable firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@yxr ~]# setenforce 0
[root@yxr ~]# sed -ri 's/^(SELINUX=).*/\1disabled/g' /etc/selinux/config 

创建系统用户nginx

[root@yxr ~]# useradd -r -M -s /sbin/nologin nginx

安装依赖环境

[root@yxr ~]# yum -y install pcre-devel openssl openssl-devel gd-devel
[root@yxr ~]# yum -y groups mark install 'Development Tools'

创建日志存放目录

[root@yxr ~]# mkdir -p /var/log/nginx
[root@yxr ~]# chown -R nginx.nginx /var/log/nginx/

下载nginx

[root@yxr ~]# cd /usr/src/
[root@yxr src]# wget http://nginx.org/download/nginx-1.12.0.tar.gz

编译安装

[root@yxr src]# ls
debug  kernels  nginx-1.12.0.tar.gz
[root@yxr src]# tar xf nginx-1.12.0.tar.gz 
[root@yxr src]# cd nginx-1.12.0/
[root@yxr nginx-1.12.0]#./configure \
--prefix=/usr/local/nginx \
--user=nginx \
--group=nginx \
--with-debug \
--with-http_ssl_module \
--with-http_realip_module \
--with-http_image_filter_module \
--with-http_gunzip_module \
--with-http_gzip_static_module \
--with-http_stub_status_module \
--http-log-path=/var/log/nginx/access.log \
--error-log-path=/var/log/nginx/error.log
[root@yxr nginx-1.12.0]# make -j 2 && make install

nginx安装后配置

配置环境变量
[root@yxr nginx-1.12.0]# echo 'export PATH=/usr/local/nginx/sbin:$PATH' > /etc/profile.d/nginx.sh
[root@yxr nginx-1.12.0]# . /etc/profile.d/nginx.sh 

启动nginx

[root@yxr nginx-1.12.0]# nginx 
[root@yxr nginx-1.12.0]# ss -antl
State      Recv-Q Send-Q Local Address:Port               Peer Address:Port              
LISTEN     0      128           *:80                        *:*                  
LISTEN     0      128           *:22                        *:*                  
LISTEN     0      100    127.0.0.1:25                        *:*                  
LISTEN     0      128          :::22                       :::*                  
LISTEN     0      100         ::1:25                       :::*    

在IP为192.168.228.23上安装mysql(这里我使用二进制安装)

安装依赖包

[root@yxr ~]# yum -y install ncurses-devel openssl-devel openssl cmake mariadb-devel

创建用户和组

[root@yxr ~]# groupadd -r -g 306 mysql
[root@yxr ~]# useradd -M -s /sbin/nologin -g 306 -u 306 mysql

下载二进制格式的mysql软件包

[root@yxr ~]# cd /usr/src/
[root@yxr src]# wget https://downloads.mysql.com/archives/get/file/mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz

解压软件至/usr/local

[root@yxr src]# tar xf mysql-5.7.22-linux-glibc2.12-x86_64.tar.gz -C /usr/local/
[root@yxr src]# cd /usr/local/
[root@yxr local]# ls
bin  games    lib    libexec                              nginx  share
etc  include  lib64  mysql-5.7.22-linux-glibc2.12-x86_64  sbin   src
[root@yxr local]# ln -sv mysql-5.7.22-linux-glibc2.12-x86_64/ mysql
‘mysql’ -> ‘mysql-5.7.22-linux-glibc2.12-x86_64/’
[root@yxr local]# ll
total 0
drwxr-xr-x.  2 root root   6 Nov  5  2016 bin
drwxr-xr-x.  2 root root   6 Nov  5  2016 etc
drwxr-xr-x.  2 root root   6 Nov  5  2016 games
drwxr-xr-x.  2 root root   6 Nov  5  2016 include
drwxr-xr-x.  2 root root   6 Nov  5  2016 lib
drwxr-xr-x.  2 root root   6 Nov  5  2016 lib64
drwxr-xr-x.  2 root root   6 Nov  5  2016 libexec
lrwxrwxrwx.  1 root root  36 Sep  5 17:45 mysql -> mysql-5.7.22-linux-glibc2.12-x86_64/
drwxr-xr-x.  9 root root 129 Sep  5 17:45 mysql-5.7.22-linux-glibc2.12-x86_64
drwxr-xr-x. 11 root root 151 Sep  5 17:29 nginx
drwxr-xr-x.  2 root root   6 Nov  5  2016 sbin
drwxr-xr-x.  5 root root  49 Aug 10 14:26 share
drwxr-xr-x.  2 root root   6 Nov  5  2016 src

修改目录/usr/local/mysql的属主属组

[root@yxr local]# chown -R mysql.mysql /usr/local/mysql
[root@yxr local]# ll /usr/local/mysql -d
lrwxrwxrwx. 1 mysql mysql 36 Sep  5 17:45 /usr/local/mysql -> mysql-5.7.22-linux-glibc2.12-x86_64/

添加环境变量

[root@yxr local]# echo 'export PATH=/usr/local/mysql/bin:$PATH' > /etc/profile.d/mysql.sh
[root@yxr local]# . /etc/profile.d/mysql.sh 
[root@yxr local]# echo $PATH
/usr/local/mysql/bin:/usr/local/nginx/sbin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin

建立数据存放目录

[root@yxr local]# mkdir /opt/data
[root@yxr local]# chown -R mysql.mysql /opt/data/
[root@yxr local]# ll /opt/
total 0
drwxr-xr-x. 2 mysql mysql 6 Sep  5 17:51 data

初始化数据库

[root@yxr local]# /usr/local/mysql/bin/mysqld --initialize --user=mysql --datadir=/opt/data/
2018-09-05T09:54:31.999648Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2018-09-05T09:54:34.926885Z 0 [Warning] InnoDB: New log files created, LSN=45790
2018-09-05T09:54:35.240951Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
2018-09-05T09:54:35.314460Z 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: b1e771d6-b0f1-11e8-8761-000c29989243.
2018-09-05T09:54:35.317332Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
2018-09-05T09:54:35.322159Z 1 [Note] A temporary password is generated for root@localhost: sQae/i06ukPC  //临时密码

配置mysql

[root@yxr local]# ln -sv /usr/local/mysql/include/ /usr/local/include/mysql
‘/usr/local/include/mysql’ -> ‘/usr/local/mysql/include/’
[root@yxr local]# echo '/usr/local/mysql/lib' > /etc/ld.so.conf.d/mysql.conf
[root@yxr local]# ldconfig -v

生成配置文件

[root@yxr local]# cat > /etc/my.cnf <<EOF
> [mysqld]
> basedir = /usr/local/mysql
> datadir = /opt/data
> socket  = /tmp/mysql.sock
> port = 3306
> pid-file = /opt/data/mysql.pid
> user = mysql
> skip-name-resolve
> EOF

配置服务启动脚本

[root@yxr local]# cp -a /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
[root@yxr local]# sed -ri 's#^(basedir=).*#\1/usr/local/mysql#g' /etc/init.d/mysqld
[root@yxr local]# sed -ri 's#^(datadir=).*#\1/opt/data#g' /etc/init.d/mysqld 

启动mysql

[root@yxr local]# service mysqld start
Starting MySQL.Logging to '/opt/data/yxr.err'.
. SUCCESS! 
[root@yxr local]# ps -ef | grep mysql
root      35507      1  0 18:05 pts/1    00:00:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/opt/data --pid-file=/opt/data/mysql.pid
mysql     35685  35507  3 18:05 pts/1    00:00:00 /usr/local/mysql/bin/mysqld --basedir=/usr/local/mysql --datadir=/opt/data --plugin-dir=/usr/local/mysql/lib/plugin --user=mysql --log-error=yxr.err --pid-file=/opt/data/mysql.pid --socket=/tmp/mysql.sock --port=3306
root      35717   1552  0 18:05 pts/1    00:00:00 grep --color=auto mysql
[root@yxr local]# ss -antl
State      Recv-Q Send-Q Local Address:Port               Peer Address:Port              
LISTEN     0      128           *:80                        *:*                  
LISTEN     0      128           *:22                        *:*                  
LISTEN     0      100    127.0.0.1:25                        *:*                  
LISTEN     0      128          :::22                       :::*                  
LISTEN     0      100         ::1:25                       :::*                  
LISTEN     0      80           :::3306                     :::*    

修改密码,使用临时密码登录

[root@yxr local]# mysql -uroot -p

mysql> set password = password('yaoxiaorong!');
Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql> exit
Bye

在192.168.228.30这台虚拟机配置两台tomcat项目部署

关闭防火墙和selinux

[root@arongya ~]# systemctl stop firewalld
[root@arongya ~]# systemctl disable firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@arongya ~]# setenforce 0
[root@arongya ~]# sed -ri 's/^(SELINUX=).*/\1disabled/g' /etc/selinux/config

安装jdk环境

安装jdk环境
[root@arongya ~]# yum -y install java-1.8.0-openjdk java-1.8.0-openjdk-devel
查看安装的版本
[root@arongya ~]# java -version
openjdk version "1.8.0_181"
OpenJDK Runtime Environment (build 1.8.0_181-b13)
OpenJDK 64-Bit Server VM (build 25.181-b13, mixed mode)

tomcat部署

下载tomcat

[root@arongya ~]# cd /usr/src/
[root@arongya src]# wget https://archive.apache.org/dist/tomcat/tomcat-9/v9.0.8/bin/apache-tomcat-9.0.8.tar.gz

解压部署,安装两个tomcat服务器,需要解压两次

[root@arongya src]# ls
apache-tomcat-9.0.8.tar.gz  debug  kernels
[root@arongya src]# tar xf apache-tomcat-9.0.8.tar.gz -C /usr/local/
[root@arongya src]# cd /usr/local/
[root@arongya local]# ls
apache-tomcat-9.0.8  etc    include  lib64    sbin   src
bin                  games  lib      libexec  share
[root@arongya local]# mv apache-tomcat-9.0.8/ yaoxiaorong   //为了避免混淆两台,这里重新创建一个目录存放第一台tomcat
[root@arongya local]# ls yaoxiaorong/
bin   lib      logs    RELEASE-NOTES  temp     work
conf  LICENSE  NOTICE  RUNNING.txt    webapps
[root@arongya local]# cd /usr/src/
[root@arongya src]# ls
apache-tomcat-9.0.8.tar.gz  debug  kernels
[root@arongya src]# tar xf apache-tomcat-9.0.8.tar.gz -C /usr/local/
[root@arongya src]# cd /usr/local/
[root@arongya local]# ls
apache-tomcat-9.0.8  etc    include  lib64    sbin   src
bin                  games  lib      libexec  share  yaoxiaorong

两台tomcat建立软链接

[root@arongya local]# ln -s yaoxiaorong/ tomcat
[root@arongya local]# ln -s apache-tomcat-9.0.8/ tomcat2
[root@arongya local]# ll
total 0
drwxr-xr-x. 9 root root 160 Sep  5 18:27 apache-tomcat-9.0.8
drwxr-xr-x. 2 root root   6 Nov  5  2016 bin
drwxr-xr-x. 2 root root   6 Nov  5  2016 etc
drwxr-xr-x. 2 root root   6 Nov  5  2016 games
drwxr-xr-x. 2 root root   6 Nov  5  2016 include
drwxr-xr-x. 2 root root   6 Nov  5  2016 lib
drwxr-xr-x. 2 root root   6 Nov  5  2016 lib64
drwxr-xr-x. 2 root root   6 Nov  5  2016 libexec
drwxr-xr-x. 2 root root   6 Nov  5  2016 sbin
drwxr-xr-x. 5 root root  49 Aug 24 09:15 share
drwxr-xr-x. 2 root root   6 Nov  5  2016 src
lrwxrwxrwx. 1 root root  12 Sep  5 18:28 tomcat -> yaoxiaorong/
lrwxrwxrwx. 1 root root  20 Sep  5 18:29 tomcat2 -> apache-tomcat-9.0.8/
drwxr-xr-x. 9 root root 160 Sep  5 18:24 yaoxiaorong

修改其中一台tomcat配置文件,避免端口冲突,这里修改tomcat2的配置文件,配置文件在/usr/local/tomcat2/conf/server.xml

修改3个地方
...
[root@arongya local]# vim /usr/local/tomcat2/conf/server.xml 
"8006" shutdown="SHUTDOWN">   //将8005修改成8006或者其他
  "org.apache.catalina.startup.VersionLoggerListener" />
...
   "8081" protocol="HTTP/1.1"  8080修改成8081或者其他
               connectionTimeout="20000"
               redirectPort="8444" />  8443修改成8444或者其他
...
    "8010" protocol="AJP/1.3" redirectPort="8444" />   8009修改成8010 8443修改成8444

在/usr/local/tomcat/webapps和/usr/local/tomcat/webapps中写不同字样的java页面
tomcat

[root@arongya ~]# cd /usr/local/tomcat/webapps/
[root@arongya webapps]# ls
docs  examples  host-manager  manager  ROOT
[root@arongya webapps]# mkdir test
[root@arongya webapps]# vim index.jsp
[root@arongya webapps]# cat index.jsp 


     test page<<span class="hljs-regexp">/title>
</head</span>>
<bady>
    <%
      out.println(<span class="hljs-string">"hello world"</span>);
    <span class="hljs-variable">%></span>
<<span class="hljs-regexp">/body>
</html</span>>
[root<span class="hljs-variable">@arongya</span> webapps]<span class="hljs-comment"># mv index.jsp test/</span></code></pre> 
  <p>tomcat2</p> 
  <pre class="prettyprint"><code class=" hljs perl">[root<span class="hljs-variable">@arongya</span> webapps]<span class="hljs-comment"># cd /usr/local/tomcat2/webapps/</span>
[root<span class="hljs-variable">@arongya</span> webapps]<span class="hljs-comment"># ls</span>
docs  examples  host-manager  manager  ROOT
[root<span class="hljs-variable">@arongya</span> webapps]<span class="hljs-comment"># mkdir test</span>
[root<span class="hljs-variable">@arongya</span> webapps]<span class="hljs-comment"># cd test/</span>
[root<span class="hljs-variable">@arongya</span> test]<span class="hljs-comment"># vim index.jsp</span>
[root<span class="hljs-variable">@arongya</span> test]<span class="hljs-comment"># cat index.jsp </span>
<html>
<head>
     <title>test page<<span class="hljs-regexp">/title>
</head</span>>
<body>
    <%
      out.println(<span class="hljs-string">"wwww.ddd"</span>);
    <span class="hljs-variable">%></span>
<<span class="hljs-regexp">/body>
</html</span>></code></pre> 
  <p>开启2台tomcat服务</p> 
  <pre class="prettyprint"><code class=" hljs sql">[root@arongya test]# /usr/local/tomcat/bin/catalina.sh <span class="hljs-operator"><span class="hljs-keyword">start</span>
<span class="hljs-keyword">Using</span> CATALINA_BASE:   /usr/<span class="hljs-keyword">local</span>/tomcat
<span class="hljs-keyword">Using</span> CATALINA_HOME:   /usr/<span class="hljs-keyword">local</span>/tomcat
<span class="hljs-keyword">Using</span> CATALINA_TMPDIR: /usr/<span class="hljs-keyword">local</span>/tomcat/temp
<span class="hljs-keyword">Using</span> JRE_HOME:        /usr
<span class="hljs-keyword">Using</span> CLASSPATH:       /usr/<span class="hljs-keyword">local</span>/tomcat/bin/bootstrap.jar:/usr/<span class="hljs-keyword">local</span>/tomcat/bin/tomcat-juli.jar
Tomcat started.
[root@arongya test]# /usr/<span class="hljs-keyword">local</span>/tomcat2/bin/catalina.sh <span class="hljs-keyword">start</span>
<span class="hljs-keyword">Using</span> CATALINA_BASE:   /usr/<span class="hljs-keyword">local</span>/tomcat2
<span class="hljs-keyword">Using</span> CATALINA_HOME:   /usr/<span class="hljs-keyword">local</span>/tomcat2
<span class="hljs-keyword">Using</span> CATALINA_TMPDIR: /usr/<span class="hljs-keyword">local</span>/tomcat2/temp
<span class="hljs-keyword">Using</span> JRE_HOME:        /usr
<span class="hljs-keyword">Using</span> CLASSPATH:       /usr/<span class="hljs-keyword">local</span>/tomcat2/bin/bootstrap.jar:/usr/<span class="hljs-keyword">local</span>/tomcat2/bin/tomcat-juli.jar
[root@arongya test]# ss -antl
State      Recv-Q Send-Q <span class="hljs-keyword">Local</span> Address:Port               Peer Address:Port              
LISTEN     <span class="hljs-number">0</span>      <span class="hljs-number">128</span>           *:<span class="hljs-number">22</span>                        *:*                  
LISTEN     <span class="hljs-number">0</span>      <span class="hljs-number">100</span>    <span class="hljs-number">127.0</span><span class="hljs-number">.0</span><span class="hljs-number">.1</span>:<span class="hljs-number">25</span>                        *:*                  
LISTEN     <span class="hljs-number">0</span>      <span class="hljs-number">100</span>          :::<span class="hljs-number">8080</span>                     :::*                  
LISTEN     <span class="hljs-number">0</span>      <span class="hljs-number">100</span>          :::<span class="hljs-number">8081</span>                     :::*                  
LISTEN     <span class="hljs-number">0</span>      <span class="hljs-number">128</span>          :::<span class="hljs-number">22</span>                       :::*                  
LISTEN     <span class="hljs-number">0</span>      <span class="hljs-number">100</span>         ::<span class="hljs-number">1</span>:<span class="hljs-number">25</span>                       :::*                  
LISTEN     <span class="hljs-number">0</span>      <span class="hljs-number">1</span>      ::ffff:<span class="hljs-number">127.0</span><span class="hljs-number">.0</span><span class="hljs-number">.1</span>:<span class="hljs-number">8005</span>                     :::*                  
LISTEN     <span class="hljs-number">0</span>      <span class="hljs-number">1</span>      ::ffff:<span class="hljs-number">127.0</span><span class="hljs-number">.0</span><span class="hljs-number">.1</span>:<span class="hljs-number">8006</span>                     :::*                  
LISTEN     <span class="hljs-number">0</span>      <span class="hljs-number">100</span>          :::<span class="hljs-number">8009</span>                     :::*                  
LISTEN     <span class="hljs-number">0</span>      <span class="hljs-number">100</span>          :::<span class="hljs-number">8010</span>                     :::*        </span></code></pre> 
  <p>验证:浏览器分别输入192.168.228.30:8081/test和192.168.228.30:8080/test,能访问说明部署成功 <br> <a href="http://img.e-com-net.com/image/info8/0b64ba1a77f745a7901d2a3777764653.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/0b64ba1a77f745a7901d2a3777764653.jpg" alt="LNMT架构部署:Linux+Nginx+Mysql+Tomcat_第2张图片" title="" width="650" height="248" style="border:1px solid black;"></a> <br> <a href="http://img.e-com-net.com/image/info8/9a662ba6b97b4cb794ffc7fdbfe130ba.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/9a662ba6b97b4cb794ffc7fdbfe130ba.jpg" alt="LNMT架构部署:Linux+Nginx+Mysql+Tomcat_第3张图片" title="" width="650" height="248" style="border:1px solid black;"></a> <br> <a href="http://img.e-com-net.com/image/info8/29ddb8f01bc248cea6ef23764c885332.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/29ddb8f01bc248cea6ef23764c885332.jpg" alt="LNMT架构部署:Linux+Nginx+Mysql+Tomcat_第4张图片" title="" width="650" height="319" style="border:1px solid black;"></a> <br> <a href="http://img.e-com-net.com/image/info8/5ef7843a5ebe4bd0b351a4ffcd8348ee.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/5ef7843a5ebe4bd0b351a4ffcd8348ee.jpg" alt="LNMT架构部署:Linux+Nginx+Mysql+Tomcat_第5张图片" title="" width="650" height="291" style="border:1px solid black;"></a></p> 
  <h3 id="配置nginx">配置nginx</h3> 
  <p>在nginx配置文件修改配置文件,配置负载均衡和两个tomcat的反向代理</p> 
  <pre class="prettyprint"><code class=" hljs axapta">
    sendfile        on;
    keepalive_timeout  <span class="hljs-number">65</span>;

        upstream web {   <span class="hljs-comment">//添加此内容,实现负载均衡</span>
          <span class="hljs-keyword">server</span> <span class="hljs-number">192.168</span><span class="hljs-number">.228</span><span class="hljs-number">.30</span>:<span class="hljs-number">8080</span>;
          <span class="hljs-keyword">server</span> <span class="hljs-number">192.168</span><span class="hljs-number">.228</span><span class="hljs-number">.30</span>:<span class="hljs-number">8081</span>;
        }

    <span class="hljs-keyword">server</span> {
        listen       <span class="hljs-number">80</span>;
        server_name  localhost;


        location / {
            root   html;
            <span class="hljs-keyword">index</span>  <span class="hljs-keyword">index</span>.html <span class="hljs-keyword">index</span>.htm;
        }

        location ~* \.(jsp|do)$ {    \\添加此行内容,实现动静分离
             proxy_pass http:<span class="hljs-comment">//web;</span>
        }
</code></pre> 
  <p>检查语法并加载nginx</p> 
  <pre class="prettyprint"><code class=" hljs applescript">[root@yxr <span class="hljs-keyword">local</span>]<span class="hljs-comment"># vim /usr/local/nginx/conf/nginx.conf</span>
[root@yxr <span class="hljs-keyword">local</span>]<span class="hljs-comment"># nginx -t</span>
nginx: <span class="hljs-keyword">the</span> configuration <span class="hljs-type">file</span> /usr/<span class="hljs-keyword">local</span>/nginx/conf/nginx.conf syntax <span class="hljs-keyword">is</span> ok
nginx: configuration <span class="hljs-type">file</span> /usr/<span class="hljs-keyword">local</span>/nginx/conf/nginx.conf test <span class="hljs-keyword">is</span> successful
[root@yxr <span class="hljs-keyword">local</span>]<span class="hljs-comment"># nginx -s reload</span></code></pre> 
  <p>在浏览器验证</p> 
  <p><a href="http://img.e-com-net.com/image/info8/ebdecba7b98e453f9f023fa2fcc7ce1f.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/ebdecba7b98e453f9f023fa2fcc7ce1f.jpg" alt="LNMT架构部署:Linux+Nginx+Mysql+Tomcat_第6张图片" title="" width="650" height="302" style="border:1px solid black;"></a> <br> <a href="http://img.e-com-net.com/image/info8/31599c30b4744a019601b662ec3a363d.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/31599c30b4744a019601b662ec3a363d.jpg" alt="LNMT架构部署:Linux+Nginx+Mysql+Tomcat_第7张图片" title="" width="650" height="328" style="border:1px solid black;"></a> <br> <a href="http://img.e-com-net.com/image/info8/ddfb73007ccd469e82e44f8edf786d50.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/ddfb73007ccd469e82e44f8edf786d50.jpg" alt="LNMT架构部署:Linux+Nginx+Mysql+Tomcat_第8张图片" title="" width="650" height="303" style="border:1px solid black;"></a></p> 
 </div> 
</div>
                            </div>
                        </div>
                    </div>
                    <!--PC和WAP自适应版-->
                    <div id="SOHUCS" sid="1294738844507250688"></div>
                    <script type="text/javascript" src="/views/front/js/chanyan.js"></script>
                    <!-- 文章页-底部 动态广告位 -->
                    <div class="youdao-fixed-ad" id="detail_ad_bottom"></div>
                </div>
                <div class="col-md-3">
                    <div class="row" id="ad">
                        <!-- 文章页-右侧1 动态广告位 -->
                        <div id="right-1" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad">
                            <div class="youdao-fixed-ad" id="detail_ad_1"> </div>
                        </div>
                        <!-- 文章页-右侧2 动态广告位 -->
                        <div id="right-2" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad">
                            <div class="youdao-fixed-ad" id="detail_ad_2"></div>
                        </div>
                        <!-- 文章页-右侧3 动态广告位 -->
                        <div id="right-3" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad">
                            <div class="youdao-fixed-ad" id="detail_ad_3"></div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
    <div class="container">
        <h4 class="pt20 mb15 mt0 border-top">你可能感兴趣的:(LNMT架构部署:Linux+Nginx+Mysql+Tomcat)</h4>
        <div id="paradigm-article-related">
            <div class="recommend-post mb30">
                <ul class="widget-links">
                    <li><a href="/article/1947187379458600960.htm"
                           title="解锁Prompt+DevOps新姿势:终端系统重塑的三大核心策略" target="_blank">解锁Prompt+DevOps新姿势:终端系统重塑的三大核心策略</a>
                        <span class="text-muted"></span>

                        <div>文章目录引言:Prompt驱动的DevOps范式迁移核心策略一:智能决策流水线构建横向架构对比纵向实现流程Python实现示例核心策略二:自适应终端部署体系TypeScript客户端实现YAML部署配置模板核心策略三:智能运维闭环构建安全审计实现方案性能对比分析技术前瞻性分析附录:完整技术图谱技术架构部署验证引言:Prompt驱动的DevOps范式迁移在云原生与AI工程化交汇的今天,Prompt技</div>
                    </li>
                    <li><a href="/article/1942813842086096896.htm"
                           title="Docker跨架构部署实操" target="_blank">Docker跨架构部署实操</a>
                        <span class="text-muted">油泼辣子多加</span>
<a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95%E5%AE%9E%E6%88%98/1.htm">算法实战</a><a class="tag" taget="_blank" href="/search/docker/1.htm">docker</a><a class="tag" taget="_blank" href="/search/%E6%9E%B6%E6%9E%84/1.htm">架构</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a>
                        <div>需求场景python项目,开发环境以及可供测试的环境为X86架构下的LINUX服务器,但正式环境需要部署在ARM架构下的麒麟服务器,且正式环境后续可能会长时间处于断网状态,需要一份跨架构的部署方案。解决思路在X86上打包、在ARM(麒麟Linux)上运行,最大的难点就在于二进制兼容性——X86编译出的可执行文件(无论是用PyInstaller还是其它方式)都无法直接在ARM上跑。下面分别说一下两种</div>
                    </li>
                    <li><a href="/article/1940795961370537984.htm"
                           title="从用户需求出发设计YashanDB数据库的架构" target="_blank">从用户需求出发设计YashanDB数据库的架构</a>
                        <span class="text-muted"></span>
<a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a>
                        <div>在现代应用中,性能和可扩展性是数据库设计中至关重要的指标。随着数据量的增加,如何在保持高性能的前提下支持复杂的查询需求,已经成为数据库产业面临的一大难题。因此,当前迫切需要一种灵活和高效的数据库架构,能适应变动的用户需求,同时提供良好的业务连续性和可靠性。YashanDB的体系架构部署架构YashanDB支持三种主要的部署架构,包括单机部署、分布式集群部署和共享集群部署。单机部署:适用于小型应用和</div>
                    </li>
                    <li><a href="/article/1938844109796077568.htm"
                           title="Spring Cloud 微服务架构部署模式" target="_blank">Spring Cloud 微服务架构部署模式</a>
                        <span class="text-muted">Java技术栈实战</span>
<a class="tag" taget="_blank" href="/search/%E6%9E%B6%E6%9E%84/1.htm">架构</a><a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/cloud/1.htm">cloud</a><a class="tag" taget="_blank" href="/search/%E5%BE%AE%E6%9C%8D%E5%8A%A1/1.htm">微服务</a><a class="tag" taget="_blank" href="/search/ai/1.htm">ai</a>
                        <div>SpringCloud微服务架构部署模式:从单体到云原生的进化路径关键词:SpringCloud、微服务架构、部署模式、容器化、Kubernetes、服务网格、DevOps摘要:本文系统解析SpringCloud微服务架构的核心部署模式,涵盖传统物理机部署、容器化部署、Kubernetes集群编排、服务网格集成等技术栈。通过技术原理剖析、实战案例演示和最佳实践总结,揭示不同部署模式的适用场景、技术</div>
                    </li>
                    <li><a href="/article/1935609595854647296.htm"
                           title="测试KingbaseES在线体验平台:从架构解析到代码实战的企业级数据库修炼指南" target="_blank">测试KingbaseES在线体验平台:从架构解析到代码实战的企业级数据库修炼指南</a>
                        <span class="text-muted">一个天蝎座 白勺 程序猿</span>
<a class="tag" taget="_blank" href="/search/%E7%BC%96%E7%A0%81%E5%B7%A5%E5%85%B7/1.htm">编码工具</a><a class="tag" taget="_blank" href="/search/%E6%9E%B6%E6%9E%84/1.htm">架构</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a>
                        <div>目录文章框架第一章:国产数据库新标杆的诞生背景1.数字化转型中的数据库选型之痛2.在线体验平台架构解析第二章:核心功能实战演练1.查询1.示例查询2.关联查询3.分组查询4.子查询5.with子句2.视图1.视图创建2.视图查询3.删除视图第三章:运维管理体系构建1.备份恢复策略矩阵2.高可用架构部署总结:KingbaseES在线平台的四大价值未来展望:KingbaseES技术演进方向文章框架第一</div>
                    </li>
                    <li><a href="/article/1931728019752284160.htm"
                           title="CentOS 7.9 企业级Redis主从复制架构部署指南" target="_blank">CentOS 7.9 企业级Redis主从复制架构部署指南</a>
                        <span class="text-muted">马小馬</span>
<a class="tag" taget="_blank" href="/search/%E6%9C%8D%E5%8A%A1%E8%BF%90%E7%BB%B4/1.htm">服务运维</a><a class="tag" taget="_blank" href="/search/centos/1.htm">centos</a><a class="tag" taget="_blank" href="/search/redis/1.htm">redis</a><a class="tag" taget="_blank" href="/search/%E6%9E%B6%E6%9E%84/1.htm">架构</a><a class="tag" taget="_blank" href="/search/%E6%9C%8D%E5%8A%A1%E5%99%A8/1.htm">服务器</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a>
                        <div>一、技术概要1.1架构原理Redis主从复制采用异步数据同步机制,通过以下核心组件实现:Master节点:处理写操作并维护数据变更记录Slave节点:主动或被动同步主节点数据,提供读服务扩展复制缓冲区:环形内存结构(默认1MB)存储增量操作指令ReplicationID:唯一标识主节点数据版本Offset偏移量:记录复制进度位置Master内部结构<</div>
                    </li>
                    <li><a href="/article/1931687175196307456.htm"
                           title="Hfish蜜罐系统3.3.1版:Windows AMD64架构部署指南" target="_blank">Hfish蜜罐系统3.3.1版:Windows AMD64架构部署指南</a>
                        <span class="text-muted">宁南山</span>

                        <div>本文还有配套的精品资源,点击获取简介:Hfish蜜罐系统3.3.1版本是专为WindowsAMD64架构设计的,用于通过模拟真实网络服务(如FTP、HTTP等)来吸引和记录黑客的攻击行为。该系统是一个功能强大的开源蜜罐框架,其设计目标是帮助网络安全专家监测和分析网络入侵行为,是网络安全领域中主动防御和网络攻击分析的重要工具。安装过程简洁,用户可以借助"install.bat"批处理文件快速完成部署</div>
                    </li>
                    <li><a href="/article/1930363959672631296.htm"
                           title="SDN VMware NSX网络原理与实践-NSX-V 解决方案基本架构【1.6】" target="_blank">SDN VMware NSX网络原理与实践-NSX-V 解决方案基本架构【1.6】</a>
                        <span class="text-muted">BinaryStarXin</span>
<a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C%E5%B7%A5%E7%A8%8B%E5%B8%88%E6%8F%90%E5%8D%87%E8%AE%A1%E5%88%924/1.htm">网络工程师提升计划4</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C/1.htm">网络</a><a class="tag" taget="_blank" href="/search/NSX-V/1.htm">NSX-V</a><a class="tag" taget="_blank" href="/search/%E8%A7%A3%E5%86%B3%E6%96%B9%E6%A1%88%E5%9F%BA%E6%9C%AC%E6%9E%B6%E6%9E%84/1.htm">解决方案基本架构</a><a class="tag" taget="_blank" href="/search/NSX-V/1.htm">NSX-V</a><a class="tag" taget="_blank" href="/search/%E7%9A%84%E6%A0%B8%E5%BF%83%E7%BB%84%E4%BB%B6/1.htm">的核心组件</a><a class="tag" taget="_blank" href="/search/VMware/1.htm">VMware</a><a class="tag" taget="_blank" href="/search/NSX%E7%9B%B8%E5%85%B3%E7%9A%84%E8%AE%A4%E8%AF%81/1.htm">NSX相关的认证</a><a class="tag" taget="_blank" href="/search/%E5%90%84%E5%8E%82%E5%95%86%E7%BD%91%E7%BB%9C%E8%99%9A%E6%8B%9F%E5%8C%96%E8%A7%A3%E5%86%B3%E6%96%B9%E6%A1%88%E7%9A%84%E6%AF%94%E8%BE%83/1.htm">各厂商网络虚拟化解决方案的比较</a><a class="tag" taget="_blank" href="/search/VMware/1.htm">VMware</a><a class="tag" taget="_blank" href="/search/%E8%AE%A4%E8%AF%81%E4%BD%93%E7%B3%BB%E7%AE%80%E4%BB%8B/1.htm">认证体系简介</a><a class="tag" taget="_blank" href="/search/%E4%BF%A1%E6%81%AF%E4%B8%8E%E9%80%9A%E4%BF%A1/1.htm">信息与通信</a>
                        <div>2.3.4各厂商网络虚拟化解决方案的比较各个厂商的网络虚拟化解决方案其实各有千秋,本节将对其进行比较。NSX有如下优势:它无需关心底层物理网络架构,实现了真正的物理网络和逻辑网络的解耦,并将防火墙、负载均衡等功能集成到网络虚拟化平台中,无需特别加入第三方插件。NSX可以使用分布式的架构部署多台NSXController作为集群,消除基于软件的SDN控制器带来的瓶颈,且VMware的分布式交换机、分</div>
                    </li>
                    <li><a href="/article/1929793373737119744.htm"
                           title="(18)混合云架构部署" target="_blank">(18)混合云架构部署</a>
                        <span class="text-muted">真实的菜</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a>
                        <div>文章目录混合云架构部署:Java应用的云原生之旅️混合云架构简介⚡Java应用云原生部署五大核心技术1️⃣容器化与编排技术2️⃣服务网格与API网关3️⃣CI/CD自动化流水线4️⃣多云管理平台5️⃣云原生Java框架与运行时实战:混合云Java应用部署步骤实战案例:电商平台混合云部署进阶技巧与最佳实践多云环境配置管理混合云服务发现策略混合云数据访问模式❓常见问题与解决方案未来趋势混合云架构部署:</div>
                    </li>
                    <li><a href="/article/1927918700690731008.htm"
                           title="LNMP 架构部署" target="_blank">LNMP 架构部署</a>
                        <span class="text-muted">�FENG</span>
<a class="tag" taget="_blank" href="/search/LAMP/1.htm">LAMP</a><a class="tag" taget="_blank" href="/search/NGINX%E8%99%9A%E6%8B%9F%E4%B8%BB%E6%9C%BA/1.htm">NGINX虚拟主机</a>
                        <div>目录一、基于授权的访问控制(一)功能简介(二)配置步骤二、基于客户端的访问控制(一)功能简介(二)配置步骤三、Nginx虚拟主机(一)基于域名的虚拟主机(二)基于IP的虚拟主机(三)基于端口的虚拟主机四、LNMP架构部署(一)编译安装MySQL(二)安装PHP解析环境(三)配置Nginx支持PHP(四)部署Web应用(以Discuz为例)总结一、基于授权的访问控制(一)功能简介Nginx支持通过用</div>
                    </li>
                    <li><a href="/article/1927666502085963776.htm"
                           title="企业网站架构部署与优化第4章Nginx核心功能" target="_blank">企业网站架构部署与优化第4章Nginx核心功能</a>
                        <span class="text-muted">遗忘妳</span>
<a class="tag" taget="_blank" href="/search/%E6%9E%B6%E6%9E%84/1.htm">架构</a><a class="tag" taget="_blank" href="/search/nginx/1.htm">nginx</a><a class="tag" taget="_blank" href="/search/%E6%9C%8D%E5%8A%A1%E5%99%A8/1.htm">服务器</a>
                        <div>掌握nginx的反向代理掌握nginx的正向代理一,正向代理正向代理(ForwardProxy)是一种位于客户端和原始服务器之间的代理服务器,其主要作用是将客户端的请求转发给目标服务器,并将响应返回给客户端Nginx的正向代理充当客户端的“中间人”,代表用户访问外部资源并隐藏真实IP。它是企业内网管控、安全审计与加速访问的核心工具。用于场景一般是:内网访问控制:限制员工访问特定网站(如社交媒体)匿</div>
                    </li>
                    <li><a href="/article/1925631772477943808.htm"
                           title="华为昇腾Atlas 300I DUO ram64架构部署RagFlow" target="_blank">华为昇腾Atlas 300I DUO ram64架构部署RagFlow</a>
                        <span class="text-muted">s6944660</span>
<a class="tag" taget="_blank" href="/search/%E5%8D%8E%E4%B8%BA/1.htm">华为</a><a class="tag" taget="_blank" href="/search/AIGC/1.htm">AIGC</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/%E7%9F%A5%E8%AF%86%E5%9B%BE%E8%B0%B1/1.htm">知识图谱</a>
                        <div>华为昇腾Atlas300IDUO欧拉22部署RagFlow环境说明操作系统openEuler22.03LTSAtlas300IDUOCPU≥4核内存≥16GB磁盘≥50GBDocker≥24.0.0和DockerCompose≥v2.26.1官网资源要求说明及步骤前置配置配置国内镜像端点(关键步骤)#在运行脚本前设置环境变量exportHF_ENDPOINT=https://hf-mirror.c</div>
                    </li>
                    <li><a href="/article/1917487642556035072.htm"
                           title="Nginx 核心功能与 LNMP 架构部署" target="_blank">Nginx 核心功能与 LNMP 架构部署</a>
                        <span class="text-muted">昭阳~</span>
<a class="tag" taget="_blank" href="/search/nginx/1.htm">nginx</a><a class="tag" taget="_blank" href="/search/%E6%9E%B6%E6%9E%84/1.htm">架构</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a>
                        <div>一、基于授权的访问控制1.1功能概述Nginx的基于授权的访问控制通过用户名和密码验证机制,限制用户对特定资源的访问。其实现逻辑与Apache类似,但配置更简洁,适用于需保护敏感目录或页面的场景(如管理后台)。1.2实现步骤1.生成用户认证文件生成用户认证文件安装httpd-tools工具包:yum-yinstallhttpd-tools使用htpasswd创建密码文件:htpasswd-c/us</div>
                    </li>
                    <li><a href="/article/1917243948221394944.htm"
                           title="单体架构部署的缺陷:为什么现代应用需要转型?" target="_blank">单体架构部署的缺陷:为什么现代应用需要转型?</a>
                        <span class="text-muted">sanggou</span>
<a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a>
                        <div>在软件开发领域,单体架构(MonolithicArchitecture)曾经是主流的应用架构模式。它将所有的功能模块集中在一个应用中,简单易用,适合早期的小型项目。然而,随着应用规模的增大和业务复杂度的提升,单体架构的缺陷逐渐显现,尤其是在部署和维护方面。本文将深入探讨单体架构部署的缺陷,并分析为什么现代应用需要向更灵活的架构模式转型。什么是单体架构?单体架构是一种传统的应用设计模式,所有的功能模</div>
                    </li>
                    <li><a href="/article/1914464532101656576.htm"
                           title="分布式入门" target="_blank">分布式入门</a>
                        <span class="text-muted">小猫猫猫◍˃ᵕ˂◍</span>
<a class="tag" taget="_blank" href="/search/%E5%88%86%E5%B8%83%E5%BC%8F/1.htm">分布式</a>
                        <div>分布式入门一、核心概念分布式架构本质将单体应用拆分为多个功能独立的子服务(微服务),部署在不同物理节点上,通过网络通信协同工作。与集群的区别•集群:多台机器运行相同服务(水平扩展)•分布式:不同机器运行不同服务(功能拆分)示例:电商系统可集群部署订单服务(应对高并发),同时分布式部署订单、支付、库存等服务。二、架构演进架构类型优势挑战单体架构部署简单、事务一致性强扩展性差、技术栈耦合分布式架构弹性</div>
                    </li>
                    <li><a href="/article/1914378338806329344.htm"
                           title="【Docker】简单搭建Gitlab" target="_blank">【Docker】简单搭建Gitlab</a>
                        <span class="text-muted">Kida 的技术小屋</span>
<a class="tag" taget="_blank" href="/search/%23/1.htm">#</a><a class="tag" taget="_blank" href="/search/Docker/1.htm">Docker</a><a class="tag" taget="_blank" href="/search/docker/1.htm">docker</a><a class="tag" taget="_blank" href="/search/gitlab/1.htm">gitlab</a>
                        <div>由于家中树莓派性能未能满足达到要求因此工作站硬件架构又一次发生变化。考虑到日后书房将用作研发、学习使用,因此将废弃已久的台式机重新做了Ubuntu服务架构,并将所有硬盘资源都对接到台式机上面。经调研决定操作系统将使用基于Ubuntu底层的LinuxMint操作系统(以下简称“LM工作站”),应用部署方面将采用Docker服务架构部署。由于Vert.x框架(自研vtx_fw框架)需在本地存储,因此在</div>
                    </li>
                    <li><a href="/article/1912382541516566528.htm"
                           title="【Kubernetes系列,小白必看】⑩ Kubernetes 实战案例剖析:从理论到实践的升华" target="_blank">【Kubernetes系列,小白必看】⑩ Kubernetes 实战案例剖析:从理论到实践的升华</a>
                        <span class="text-muted">佳腾_</span>
<a class="tag" taget="_blank" href="/search/kubernetes%E9%9B%86%E7%BE%A4/1.htm">kubernetes集群</a><a class="tag" taget="_blank" href="/search/kubernetes/1.htm">kubernetes</a><a class="tag" taget="_blank" href="/search/%E5%AE%B9%E5%99%A8/1.htm">容器</a><a class="tag" taget="_blank" href="/search/%E4%BA%91%E5%8E%9F%E7%94%9F/1.htm">云原生</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4%E5%AE%9E%E6%88%98/1.htm">运维实战</a>
                        <div>通过前九篇文章的学习,我们从0到1,从入门到精通,深入学习了k8s的技术栈。在业内Kubernetes凭借其强大的容器编排与集群管理能力,成为众多企业构建现代化应用架构的首选。通过实际案例来学习Kubernetes的应用,能帮助我们更好地理解其工作原理,掌握在不同场景下的应用技巧。本篇文章将深入剖析多个Kubernetes实战案例,助力读者实现从理论到实践的升华。案例一:电商平台微服务架构部署业务</div>
                    </li>
                    <li><a href="/article/1907861737760157696.htm"
                           title="电商项目java经验_分布式电商系统项目总结" target="_blank">电商项目java经验_分布式电商系统项目总结</a>
                        <span class="text-muted">耶律大石</span>
<a class="tag" taget="_blank" href="/search/%E7%94%B5%E5%95%86%E9%A1%B9%E7%9B%AEjava%E7%BB%8F%E9%AA%8C/1.htm">电商项目java经验</a>
                        <div>概述:淘淘商城是采用分布式架构部署的一个大型网上商城系统,类似于京东商城。本系统分前台系统和后台系统。前台系统主要负责商城的页面的显示功能,这里采用的面向服务的方式,pc端手机端只负责显示页面,业务逻辑都在服务层实现,客户端调用服务端接口来实现显示功能。在前台系统中主要分为:客户端:系统前台页面显示系统(portal,8082)。服务端系统:(1)rest系统(8081):负责调用CMS系统的内容</div>
                    </li>
                    <li><a href="/article/1907679734028890112.htm"
                           title="军工PLM安全管理体系:2025年渗透测试的8项黑天鹅应对方案" target="_blank">军工PLM安全管理体系:2025年渗透测试的8项黑天鹅应对方案</a>
                        <span class="text-muted"></span>
<a class="tag" taget="_blank" href="/search/%E7%A8%8B%E5%BA%8F%E5%91%98/1.htm">程序员</a>
                        <div>军工PLM(产品生命周期管理)系统对于国防安全和军工企业的稳定发展至关重要。随着网络威胁的日益复杂和多样化,2025年的渗透测试面临诸多不确定性,其中黑天鹅事件带来的挑战尤为突出。黑天鹅事件具有意外性、重大影响和事后可解释性的特点,一旦发生,可能对军工PLM安全管理体系造成严重破坏。因此,制定有效的应对方案迫在眉睫。强化零信任架构部署零信任架构基于“默认不信任,始终验证”的原则,打破了传统网络安全</div>
                    </li>
                    <li><a href="/article/1902433804086210560.htm"
                           title="《Linux运维总结:基于银河麒麟V10+ARM64架构部署多机elasticsearch7.17.21分布式集群+单机kibana7.17.21二进制版ssl集群》" target="_blank">《Linux运维总结:基于银河麒麟V10+ARM64架构部署多机elasticsearch7.17.21分布式集群+单机kibana7.17.21二进制版ssl集群》</a>
                        <span class="text-muted">东城绝神</span>
<a class="tag" taget="_blank" href="/search/%E3%80%8ALinux%E8%BF%90%E7%BB%B4%E5%AE%9E%E6%88%98%E6%80%BB%E7%BB%93%E3%80%8B/1.htm">《Linux运维实战总结》</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/elasticsearch/1.htm">elasticsearch</a><a class="tag" taget="_blank" href="/search/ssl/1.htm">ssl</a>
                        <div>总结:整理不易,如果对你有帮助,可否点赞关注一下?更多详细内容请参考:Linux运维实战总结一、背景elasticsearch是一个分布式、实时、高性能的搜索和分析引擎,它广泛应用于企业级搜索、日志分析、实时数据处理等领域。随着elasticsearch的广泛应用,安全性变得越来越重要。这里将从安全策略和访问控制两方面来部署elasticsearch集群安全策略涉及到数据安全、访问安全和操作安全等</div>
                    </li>
                    <li><a href="/article/1900195322827698176.htm"
                           title="Linux技术学习分享- 使用 LNMP 架构部署动态网站环境【5.4】" target="_blank">Linux技术学习分享- 使用 LNMP 架构部署动态网站环境【5.4】</a>
                        <span class="text-muted">BinaryStarXin</span>
<a class="tag" taget="_blank" href="/search/Linux%E6%8A%80%E6%9C%AF%E5%AD%A6%E4%B9%A0%E5%88%86%E4%BA%AB%E3%80%901%E3%80%91/1.htm">Linux技术学习分享【1】</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0/1.htm">学习</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a><a class="tag" taget="_blank" href="/search/%E6%90%AD%E5%BB%BA/1.htm">搭建</a><a class="tag" taget="_blank" href="/search/Discuz%E8%AE%BA%E5%9D%9B/1.htm">Discuz论坛</a><a class="tag" taget="_blank" href="/search/%E9%80%89%E8%B4%AD%E6%9C%8D%E5%8A%A1%E5%99%A8%E4%B8%BB%E6%9C%BA/1.htm">选购服务器主机</a><a class="tag" taget="_blank" href="/search/%E9%85%8D%E7%BD%AE/1.htm">配置</a><a class="tag" taget="_blank" href="/search/Windows/1.htm">Windows</a><a class="tag" taget="_blank" href="/search/%E5%AE%A2%E6%88%B7%E7%AB%AF/1.htm">客户端</a><a class="tag" taget="_blank" href="/search/%E9%85%8D%E7%BD%AE/1.htm">配置</a><a class="tag" taget="_blank" href="/search/Linux/1.htm">Linux</a><a class="tag" taget="_blank" href="/search/%E5%AE%A2%E6%88%B7%E7%AB%AF/1.htm">客户端</a>
                        <div>20.3搭建Discuz!论坛为了检验LNMP动态网站环境是否配置妥当,可以使用在上面部署Discuz!系统,然后查看结果。如果能够在LNMP动态网站环境中成功安装使用Discuz!论坛系统,也就意味着这套架构是可用的。Discuz!X3.2是国内最常见的社区论坛系统,在经过十多年的研发后已经成为了全球成熟度最高、覆盖率最广的论坛网站系统之一。Discuz!X3.2软件包的后缀是.zip格式,因此</div>
                    </li>
                    <li><a href="/article/1899272957360926720.htm"
                           title="太翌氏文化产业: AGI架构部署" target="_blank">太翌氏文化产业: AGI架构部署</a>
                        <span class="text-muted">太翌修仙笔录</span>
<a class="tag" taget="_blank" href="/search/deepseek/1.htm">deepseek</a><a class="tag" taget="_blank" href="/search/%E7%AC%AC%E4%B8%89%E4%BB%A3%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">第三代人工智能</a><a class="tag" taget="_blank" href="/search/agi/1.htm">agi</a><a class="tag" taget="_blank" href="/search/%E6%9E%B6%E6%9E%84/1.htm">架构</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a>
                        <div>在之前RGOA-重力算法等基础上,分析春秋历日盘排盘驱动行为的ai模式,是否达到AGI标准春秋历日盘排盘驱动行为的AI模式与AGI标准的对比分析一、RGOA-重力算法与春秋历日盘排盘的核心逻辑RGOA算法原理RGOA(GravitationalSearchAlgorithm)是一种基于物理引力定律的优化算法,通过模拟粒子在引力场中的运动来寻找最优解。其核心公式为:Fij=GmimjRij2+ϵ和a</div>
                    </li>
                    <li><a href="/article/1896943262195838976.htm"
                           title="centos7中LNMP架构部署" target="_blank">centos7中LNMP架构部署</a>
                        <span class="text-muted">m0_45318174</span>
<a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a>
                        <div>一.环境规划IP角色192.168.19.152PHP脚本程序解析192.168.19.20Web服务器192.168.19.153数据库节点系统采用:[root@nebulalinux~]#cat/etc/redhat-releaseCentOSLinuxrelease7.6.1810(Core)软件版本:nginx:nginx/1.15.0php:PHP7.4.8mysql:8.0.16处理防</div>
                    </li>
                    <li><a href="/article/1893665980576493568.htm"
                           title="【网站架构部署与优化】源码编译安装LAMP" target="_blank">【网站架构部署与优化】源码编译安装LAMP</a>
                        <span class="text-muted">Karoku066</span>
<a class="tag" taget="_blank" href="/search/%E6%9E%B6%E6%9E%84/1.htm">架构</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a><a class="tag" taget="_blank" href="/search/%E6%9C%8D%E5%8A%A1%E5%99%A8/1.htm">服务器</a><a class="tag" taget="_blank" href="/search/bash/1.htm">bash</a><a class="tag" taget="_blank" href="/search/ssh/1.htm">ssh</a>
                        <div>文章目录LAMP架构概述各组件的主要作用构建LAMP平台的安装顺序编译安装Apachehttpd服务指南1.准备工作1.1关闭防火墙并传输软件包1.2安装环境依赖包2.配置软件模块2.1解压软件包2.2移动apr组件包2.3配置httpd3.编译及安装4.优化配置4.1配置文件路径4.2添加httpd系统服务方法一:使用init.d方法二:使用systemd5.修改httpd服务配置文件5.1编辑</div>
                    </li>
                    <li><a href="/article/1890830130532642816.htm"
                           title="linux运维架构部署,Linux运维-day48/49-综合架构-nginx的location规则和LNMP的部署" target="_blank">linux运维架构部署,Linux运维-day48/49-综合架构-nginx的location规则和LNMP的部署</a>
                        <span class="text-muted">在下子文</span>
<a class="tag" taget="_blank" href="/search/linux%E8%BF%90%E7%BB%B4%E6%9E%B6%E6%9E%84%E9%83%A8%E7%BD%B2/1.htm">linux运维架构部署</a>
                        <div>一、nginx状态模块及权限控制补充1.2nginx状态模块通过监控软件查看nginx的状态[root@web01~]#curlstatus.oldboy.comActiveconnections:1serveracceptshandledrequests232323Reading:0Writing:1Waiting:0\\------------------分别代表的含义------------</div>
                    </li>
                    <li><a href="/article/1885292019836841984.htm"
                           title="【网站架构部署与优化】Tomcat优化、Tomcat多实例部署" target="_blank">【网站架构部署与优化】Tomcat优化、Tomcat多实例部署</a>
                        <span class="text-muted">Karoku066</span>
<a class="tag" taget="_blank" href="/search/%E6%9E%B6%E6%9E%84/1.htm">架构</a><a class="tag" taget="_blank" href="/search/tomcat/1.htm">tomcat</a><a class="tag" taget="_blank" href="/search/firefox/1.htm">firefox</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a><a class="tag" taget="_blank" href="/search/%E6%9C%8D%E5%8A%A1%E5%99%A8/1.htm">服务器</a><a class="tag" taget="_blank" href="/search/bash/1.htm">bash</a>
                        <div>文章目录Tomcat优化Tomcat配置文件参数优化示例配置TomcatJVM参数配置参数解释注意总结Tomcat配置文件参数优化(`server.xml`)1.线程池参数2.网络连接参数3.性能优化参数Java虚拟机(JVM)调优1.堆内存设置2.新生代和老年代设置3.垃圾收集器设置4.其他性能优化参数常见错误及解决方法Tomcat多实例部署1.安装JDK和Tomcat2.配置Tomcat环境变</div>
                    </li>
                    <li><a href="/article/1885132584741040128.htm"
                           title="10.1、LNMT架构" target="_blank">10.1、LNMT架构</a>
                        <span class="text-muted">weixin_30832405</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a>
                        <div>Java环境安装包下载路径:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.htmlTomcat安装包下载路径:https://tomcat.apache.org/download-90.cgijpress软件下载:http://jpress.io/downloadJava环境安装上传j</div>
                    </li>
                    <li><a href="/article/1885132586691391488.htm"
                           title="基于Tomcat构建LNMT架构的网站并实现Session保持" target="_blank">基于Tomcat构建LNMT架构的网站并实现Session保持</a>
                        <span class="text-muted">weixin_33795833</span>
<a class="tag" taget="_blank" href="/search/%E5%90%8E%E7%AB%AF/1.htm">后端</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/ViewUI/1.htm">ViewUI</a>
                        <div>基于Tomcat构建LNMT架构的网站并实现Session保持-小小忍者-51CTO技术博客简介LNMT=Linux+Nginx+MySQL+Tomcat;Tomcat服务器是一个免费的开放源代码的Web应用服务器,属于轻量级应用服务器;在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调试JSP程序的首选;架构需求Tomcat实现JSP动态请求解析的基本架构说明:由后端Tomcat负</div>
                    </li>
                    <li><a href="/article/1883829597926125568.htm"
                           title="nodejs架构部署" target="_blank">nodejs架构部署</a>
                        <span class="text-muted">沙漠好乘凉</span>
<a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a>
                        <div>1、nodejs官网下载二进制源码包wgethttps://nodejs.org/dist/v16.20.2/node-v16.20.2-linux-x64.tar.xz2、解压tarxfnode-v16.20.2-linux-x64.tar.xz3、查看版本./node-v16.20.2-linux-x64/bin/node-v4、换到/opt路径下mvnode-v16.20.2-linux-x</div>
                    </li>
                    <li><a href="/article/1883061205665378304.htm"
                           title="MHA架构部署" target="_blank">MHA架构部署</a>
                        <span class="text-muted">凰玥</span>
<a class="tag" taget="_blank" href="/search/MySQL/1.htm">MySQL</a><a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a>
                        <div>一、**简介MHA(MasterHA)是一款开源的MySQL的高可用程序,它为MySQL主从复制架构提供了automatingmasterfailover功能。MHA在监控到master节点故障时,会提升其中拥有最新数据的slave节点成为新的master节点,在此期间,MHA会通过于其它从节点获取额外信息来避免一致性方面的问题。MHA还提供了master节点的在线切换功能,即按需切换master</div>
                    </li>
                                <li><a href="/article/50.htm"
                                       title="java封装继承多态等" target="_blank">java封装继承多态等</a>
                                    <span class="text-muted">麦田的设计者</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/eclipse/1.htm">eclipse</a><a class="tag" taget="_blank" href="/search/jvm/1.htm">jvm</a><a class="tag" taget="_blank" href="/search/c/1.htm">c</a><a class="tag" taget="_blank" href="/search/encapsulatopn/1.htm">encapsulatopn</a>
                                    <div>       最近一段时间看了很多的视频却忘记总结了,现在只能想到什么写什么了,希望能起到一个回忆巩固的作用。 
    1、final关键字 
      译为:最终的 
       &</div>
                                </li>
                                <li><a href="/article/177.htm"
                                       title="F5与集群的区别" target="_blank">F5与集群的区别</a>
                                    <span class="text-muted">bijian1013</span>
<a class="tag" taget="_blank" href="/search/weblogic/1.htm">weblogic</a><a class="tag" taget="_blank" href="/search/%E9%9B%86%E7%BE%A4/1.htm">集群</a><a class="tag" taget="_blank" href="/search/F5/1.htm">F5</a>
                                    <div>        http请求配置不是通过集群,而是F5;集群是weblogic容器的,如果是ejb接口是通过集群。 
        F5同集群的差别,主要还是会话复制的问题,F5一把是分发http请求用的,因为http都是无状态的服务,无需关注会话问题,类似</div>
                                </li>
                                <li><a href="/article/304.htm"
                                       title="LeetCode[Math] - #7 Reverse Integer" target="_blank">LeetCode[Math] - #7 Reverse Integer</a>
                                    <span class="text-muted">Cwind</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E9%A2%98%E8%A7%A3/1.htm">题解</a><a class="tag" taget="_blank" href="/search/Math/1.htm">Math</a><a class="tag" taget="_blank" href="/search/LeetCode/1.htm">LeetCode</a><a class="tag" taget="_blank" href="/search/Algorithm/1.htm">Algorithm</a>
                                    <div>原题链接:#7 Reverse Integer 
  
要求: 
按位反转输入的数字 
例1: 输入 x = 123, 返回 321 
例2: 输入 x = -123, 返回 -321 
  
难度:简单 
  
分析: 
对于一般情况,首先保存输入数字的符号,然后每次取输入的末位(x%10)作为输出的高位(result = result*10 + x%10)即可。但</div>
                                </li>
                                <li><a href="/article/431.htm"
                                       title="BufferedOutputStream" target="_blank">BufferedOutputStream</a>
                                    <span class="text-muted">周凡杨</span>

                                    <div>     首先说一下这个大批量,是指有上千万的数据量。 
     例子: 
     有一张短信历史表,其数据有上千万条数据,要进行数据备份到文本文件,就是执行如下SQL然后将结果集写入到文件中! 
     select t.msisd</div>
                                </li>
                                <li><a href="/article/558.htm"
                                       title="linux下模拟按键输入和鼠标" target="_blank">linux下模拟按键输入和鼠标</a>
                                    <span class="text-muted">被触发</span>
<a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a>
                                    <div>查看/dev/input/eventX是什么类型的事件, cat /proc/bus/input/devices 
设备有着自己特殊的按键键码,我需要将一些标准的按键,比如0-9,X-Z等模拟成标准按键,比如KEY_0,KEY-Z等,所以需要用到按键 模拟,具体方法就是操作/dev/input/event1文件,向它写入个input_event结构体就可以模拟按键的输入了。 
 
linux/in</div>
                                </li>
                                <li><a href="/article/685.htm"
                                       title="ContentProvider初体验" target="_blank">ContentProvider初体验</a>
                                    <span class="text-muted">肆无忌惮_</span>
<a class="tag" taget="_blank" href="/search/ContentProvider/1.htm">ContentProvider</a>
                                    <div>ContentProvider在安卓开发中非常重要。与Activity,Service,BroadcastReceiver并称安卓组件四大天王。 
在android中的作用是用来对外共享数据。因为安卓程序的数据库文件存放在data/data/packagename里面,这里面的文件默认都是私有的,别的程序无法访问。 
如果QQ游戏想访问手机QQ的帐号信息一键登录,那么就需要使用内容提供者COnte</div>
                                </li>
                                <li><a href="/article/812.htm"
                                       title="关于Spring MVC项目(maven)中通过fileupload上传文件" target="_blank">关于Spring MVC项目(maven)中通过fileupload上传文件</a>
                                    <span class="text-muted">843977358</span>
<a class="tag" taget="_blank" href="/search/mybatis/1.htm">mybatis</a><a class="tag" taget="_blank" href="/search/spring+mvc/1.htm">spring mvc</a><a class="tag" taget="_blank" href="/search/%E4%BF%AE%E6%94%B9%E5%A4%B4%E5%83%8F/1.htm">修改头像</a><a class="tag" taget="_blank" href="/search/%E4%B8%8A%E4%BC%A0%E6%96%87%E4%BB%B6/1.htm">上传文件</a><a class="tag" taget="_blank" href="/search/upload/1.htm">upload</a>
                                    <div>Spring MVC 中通过fileupload上传文件,其中项目使用maven管理。 
  
1.上传文件首先需要的是导入相关支持jar包:commons-fileupload.jar,commons-io.jar 
因为我是用的maven管理项目,所以要在pom文件中配置(每个人的jar包位置根据实际情况定) 
<!-- 文件上传 start by zhangyd-c --&g</div>
                                </li>
                                <li><a href="/article/939.htm"
                                       title="使用svnkit api,纯java操作svn,实现svn提交,更新等操作" target="_blank">使用svnkit api,纯java操作svn,实现svn提交,更新等操作</a>
                                    <span class="text-muted">aigo</span>
<a class="tag" taget="_blank" href="/search/svnkit/1.htm">svnkit</a>
                                    <div> 原文:http://blog.csdn.net/hardwin/article/details/7963318 
  
import java.io.File;  
  
import org.apache.log4j.Logger;  
import org.tmatesoft.svn.core.SVNCommitInfo;  
import org.tmateso</div>
                                </li>
                                <li><a href="/article/1066.htm"
                                       title="对比浏览器,casperjs,httpclient的Header信息" target="_blank">对比浏览器,casperjs,httpclient的Header信息</a>
                                    <span class="text-muted">alleni123</span>
<a class="tag" taget="_blank" href="/search/%E7%88%AC%E8%99%AB/1.htm">爬虫</a><a class="tag" taget="_blank" href="/search/crawler/1.htm">crawler</a><a class="tag" taget="_blank" href="/search/header/1.htm">header</a>
                                    <div>		@Override
		protected void doGet(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException
		{
			String type=req.getParameter("type");
			Enumeration es=re</div>
                                </li>
                                <li><a href="/article/1193.htm"
                                       title="java.io操作 DataInputStream和DataOutputStream基本数据流" target="_blank">java.io操作 DataInputStream和DataOutputStream基本数据流</a>
                                    <span class="text-muted">百合不是茶</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E6%B5%81/1.htm">流</a>
                                    <div>1,java中如果不保存整个对象,只保存类中的属性,那么我们可以使用本篇文章中的方法,如果要保存整个对象  先将类实例化  后面的文章将详细写到 
  
  
2,DataInputStream 是java.io包中一个数据输入流允许应用程序以与机器无关方式从底层输入流中读取基本 Java 数据类型。应用程序可以使用数据输出流写入稍后由数据输入流读取的数据。</div>
                                </li>
                                <li><a href="/article/1320.htm"
                                       title="车辆保险理赔案例" target="_blank">车辆保险理赔案例</a>
                                    <span class="text-muted">bijian1013</span>
<a class="tag" taget="_blank" href="/search/%E8%BD%A6%E9%99%A9/1.htm">车险</a>
                                    <div>理赔案例: 
一货运车,运输公司为车辆购买了机动车商业险和交强险,也买了安全生产责任险,运输一车烟花爆竹,在行驶途中发生爆炸,出现车毁、货损、司机亡、炸死一路人、炸毁一间民宅等惨剧,针对这几种情况,该如何赔付。 
赔付建议和方案: 
客户所买交强险在这里不起作用,因为交强险的赔付前提是:“机动车发生道路交通意外事故”; 
如果是交通意外事故引发的爆炸,则优先适用交强险条款进行赔付,不足的部分由商业</div>
                                </li>
                                <li><a href="/article/1447.htm"
                                       title="学习Spring必学的Java基础知识(5)—注解" target="_blank">学习Spring必学的Java基础知识(5)—注解</a>
                                    <span class="text-muted">bijian1013</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a>
                                    <div>        文章来源:http://www.iteye.com/topic/1123823,整理在我的博客有两个目的:一个是原文确实很不错,通俗易懂,督促自已将博主的这一系列关于Spring文章都学完;另一个原因是为免原文被博主删除,在此记录,方便以后查找阅读。 
  
        有必要对</div>
                                </li>
                                <li><a href="/article/1574.htm"
                                       title="【Struts2一】Struts2 Hello World" target="_blank">【Struts2一】Struts2 Hello World</a>
                                    <span class="text-muted">bit1129</span>
<a class="tag" taget="_blank" href="/search/Hello+world/1.htm">Hello world</a>
                                    <div>Struts2 Hello World应用的基本步骤 
创建Struts2的Hello World应用,包括如下几步: 
1.配置web.xml 
2.创建Action 
3.创建struts.xml,配置Action 
4.启动web server,通过浏览器访问 
  配置web.xml 
<?xml version="1.0" encoding="</div>
                                </li>
                                <li><a href="/article/1701.htm"
                                       title="【Avro二】Avro RPC框架" target="_blank">【Avro二】Avro RPC框架</a>
                                    <span class="text-muted">bit1129</span>
<a class="tag" taget="_blank" href="/search/rpc/1.htm">rpc</a>
                                    <div>1. Avro RPC简介 1.1. RPC 
 
 RPC逻辑上分为二层,一是传输层,负责网络通信;二是协议层,将数据按照一定协议格式打包和解包 
 从序列化方式来看,Apache Thrift 和Google的Protocol Buffers和Avro应该是属于同一个级别的框架,都能跨语言,性能优秀,数据精简,但是Avro的动态模式(不用生成代码,而且性能很好)这个特点让人非常喜欢,比较适合R</div>
                                </li>
                                <li><a href="/article/1828.htm"
                                       title="lua set get cookie" target="_blank">lua set get cookie</a>
                                    <span class="text-muted">ronin47</span>
<a class="tag" taget="_blank" href="/search/lua+cookie/1.htm">lua cookie</a>
                                    <div>lua:
local access_token = ngx.var.cookie_SGAccessToken
if access_token then
    ngx.header["Set-Cookie"] = "SGAccessToken="..access_token.."; path=/;Max-Age=3000"
end</div>
                                </li>
                                <li><a href="/article/1955.htm"
                                       title="java-打印不大于N的质数" target="_blank">java-打印不大于N的质数</a>
                                    <span class="text-muted">bylijinnan</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a>
                                    <div>

public class PrimeNumber {

	/**
	 * 寻找不大于N的质数
	 */
	public static void main(String[] args) {
		int n=100;
		PrimeNumber pn=new PrimeNumber();
		pn.printPrimeNumber(n);
		System.out.print</div>
                                </li>
                                <li><a href="/article/2082.htm"
                                       title="Spring源码学习-PropertyPlaceholderHelper" target="_blank">Spring源码学习-PropertyPlaceholderHelper</a>
                                    <span class="text-muted">bylijinnan</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a>
                                    <div>今天在看Spring 3.0.0.RELEASE的源码,发现PropertyPlaceholderHelper的一个bug 
当时觉得奇怪,上网一搜,果然是个bug,不过早就有人发现了,且已经修复: 
详见: 
http://forum.spring.io/forum/spring-projects/container/88107-propertyplaceholderhelper-bug 
 
</div>
                                </li>
                                <li><a href="/article/2209.htm"
                                       title="[逻辑与拓扑]布尔逻辑与拓扑结构的结合会产生什么?" target="_blank">[逻辑与拓扑]布尔逻辑与拓扑结构的结合会产生什么?</a>
                                    <span class="text-muted">comsci</span>
<a class="tag" taget="_blank" href="/search/%E6%8B%93%E6%89%91/1.htm">拓扑</a>
                                    <div> 
   如果我们已经在一个工作流的节点中嵌入了可以进行逻辑推理的代码,那么成百上千个这样的节点如果组成一个拓扑网络,而这个网络是可以自动遍历的,非线性的拓扑计算模型和节点内部的布尔逻辑处理的结合,会产生什么样的结果呢? 
 
   是否可以形成一种新的模糊语言识别和处理模型呢?  大家有兴趣可以试试,用软件搞这些有个好处,就是花钱比较少,就算不成</div>
                                </li>
                                <li><a href="/article/2336.htm"
                                       title="ITEYE 都换百度推广了" target="_blank">ITEYE 都换百度推广了</a>
                                    <span class="text-muted">cuisuqiang</span>
<a class="tag" taget="_blank" href="/search/Google/1.htm">Google</a><a class="tag" taget="_blank" href="/search/AdSense/1.htm">AdSense</a><a class="tag" taget="_blank" href="/search/%E7%99%BE%E5%BA%A6%E6%8E%A8%E5%B9%BF/1.htm">百度推广</a><a class="tag" taget="_blank" href="/search/%E5%B9%BF%E5%91%8A/1.htm">广告</a><a class="tag" taget="_blank" href="/search/%E5%A4%96%E5%BF%AB/1.htm">外快</a>
                                    <div>以前ITEYE的广告都是谷歌的Google AdSense,现在都换成百度推广了。 
  
为什么个人博客设置里面还是Google AdSense呢? 
  
都知道Google AdSense不好申请,这在ITEYE上也不是讨论了一两天了,强烈建议ITEYE换掉Google AdSense。至少,用一个好申请的吧。 
  
什么时候能从ITEYE上来点外快,哪怕少点</div>
                                </li>
                                <li><a href="/article/2463.htm"
                                       title="新浪微博技术架构分析" target="_blank">新浪微博技术架构分析</a>
                                    <span class="text-muted">dalan_123</span>
<a class="tag" taget="_blank" href="/search/%E6%96%B0%E6%B5%AA%E5%BE%AE%E5%8D%9A/1.htm">新浪微博</a><a class="tag" taget="_blank" href="/search/%E6%9E%B6%E6%9E%84/1.htm">架构</a>
                                    <div>新浪微博在短短一年时间内从零发展到五千万用户,我们的基层架构也发展了几个版本。第一版就是是非常快的,我们可以非常快的实现我们的模块。我们看一下技术特点,微博这个产品从架构上来分析,它需要解决的是发表和订阅的问题。我们第一版采用的是推的消息模式,假如说我们一个明星用户他有10万个粉丝,那就是说用户发表一条微博的时候,我们把这个微博消息攒成10万份,这样就是很简单了,第一版的架构实际上就是这两行字。第</div>
                                </li>
                                <li><a href="/article/2590.htm"
                                       title="玩转ARP攻击" target="_blank">玩转ARP攻击</a>
                                    <span class="text-muted">dcj3sjt126com</span>
<a class="tag" taget="_blank" href="/search/r/1.htm">r</a>
                                    <div>我写这片文章只是想让你明白深刻理解某一协议的好处。高手免看。如果有人利用这片文章所做的一切事情,盖不负责。 网上关于ARP的资料已经很多了,就不用我都说了。 用某一位高手的话来说,“我们能做的事情很多,唯一受限制的是我们的创造力和想象力”。 ARP也是如此。 以下讨论的机子有 一个要攻击的机子:10.5.4.178 硬件地址:52:54:4C:98</div>
                                </li>
                                <li><a href="/article/2717.htm"
                                       title="PHP编码规范" target="_blank">PHP编码规范</a>
                                    <span class="text-muted">dcj3sjt126com</span>
<a class="tag" taget="_blank" href="/search/%E7%BC%96%E7%A0%81%E8%A7%84%E8%8C%83/1.htm">编码规范</a>
                                    <div>一、文件格式 
1. 对于只含有 php 代码的文件,我们将在文件结尾处忽略掉 "?>" 。这是为了防止多余的空格或者其它字符影响到代码。例如:<?php$foo = 'foo';2. 缩进应该能够反映出代码的逻辑结果,尽量使用四个空格,禁止使用制表符TAB,因为这样能够保证有跨客户端编程器软件的灵活性。例</div>
                                </li>
                                <li><a href="/article/2844.htm"
                                       title="linux 脱机管理(nohup)" target="_blank">linux 脱机管理(nohup)</a>
                                    <span class="text-muted">eksliang</span>
<a class="tag" taget="_blank" href="/search/linux+nohup/1.htm">linux nohup</a><a class="tag" taget="_blank" href="/search/nohup/1.htm">nohup</a>
                                    <div>脱机管理 nohup 
转载请出自出处:http://eksliang.iteye.com/blog/2166699 
nohup可以让你在脱机或者注销系统后,还能够让工作继续进行。他的语法如下 
nohup [命令与参数]   --在终端机前台工作
nohup [命令与参数] & --在终端机后台工作 
  
但是这个命令需要注意的是,nohup并不支持bash的内置命令,所</div>
                                </li>
                                <li><a href="/article/2971.htm"
                                       title="BusinessObjects Enterprise Java SDK" target="_blank">BusinessObjects Enterprise Java SDK</a>
                                    <span class="text-muted">greemranqq</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/BO/1.htm">BO</a><a class="tag" taget="_blank" href="/search/SAP/1.htm">SAP</a><a class="tag" taget="_blank" href="/search/Crystal+Reports/1.htm">Crystal Reports</a>
                                    <div>最近项目用到oracle_ADF  从SAP/BO 上调用 水晶报表,资料比较少,我做一个简单的分享,给和我一样的新手 提供更多的便利。 
  
首先,我是尝试用JAVA JSP 去访问的。 
  
官方API:http://devlibrary.businessobjects.com/BusinessObjectsxi/en/en/BOE_SDK/boesdk_ja</div>
                                </li>
                                <li><a href="/article/3098.htm"
                                       title="系统负载剧变下的管控策略" target="_blank">系统负载剧变下的管控策略</a>
                                    <span class="text-muted">iamzhongyong</span>
<a class="tag" taget="_blank" href="/search/%E9%AB%98%E5%B9%B6%E5%8F%91/1.htm">高并发</a>
                                    <div>假如目前的系统有100台机器,能够支撑每天1亿的点击量(这个就简单比喻一下),然后系统流量剧变了要,我如何应对,系统有那些策略可以处理,这里总结了一下之前的一些做法。 
1、水平扩展 
这个最容易理解,加机器,这样的话对于系统刚刚开始的伸缩性设计要求比较高,能够非常灵活的添加机器,来应对流量的变化。 
2、系统分组 
假如系统服务的业务不同,有优先级高的,有优先级低的,那就让不同的业务调用提前分组</div>
                                </li>
                                <li><a href="/article/3225.htm"
                                       title="BitTorrent DHT 协议中文翻译" target="_blank">BitTorrent DHT 协议中文翻译</a>
                                    <span class="text-muted">justjavac</span>
<a class="tag" taget="_blank" href="/search/bit/1.htm">bit</a>
                                    <div>前言 
做了一个磁力链接和BT种子的搜索引擎 {Magnet & Torrent},因此把 DHT 协议重新看了一遍。 
 
 BEP: 5Title: DHT ProtocolVersion: 3dec52cb3ae103ce22358e3894b31cad47a6f22bLast-Modified: Tue Apr 2 16:51:45 2013 -070</div>
                                </li>
                                <li><a href="/article/3352.htm"
                                       title="Ubuntu下Java环境的搭建" target="_blank">Ubuntu下Java环境的搭建</a>
                                    <span class="text-muted">macroli</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E5%B7%A5%E4%BD%9C/1.htm">工作</a><a class="tag" taget="_blank" href="/search/ubuntu/1.htm">ubuntu</a>
                                    <div>配置命令: 
  $sudo apt-get install ubuntu-restricted-extras 
  再运行如下命令: 
  $sudo apt-get install sun-java6-jdk 
  待安装完毕后选择默认Java. 
  $sudo update- alternatives --config java 
  安装过程提示选择,输入“2”即可,然后按回车键确定。 </div>
                                </li>
                                <li><a href="/article/3479.htm"
                                       title="js字符串转日期(兼容IE所有版本)" target="_blank">js字符串转日期(兼容IE所有版本)</a>
                                    <span class="text-muted">qiaolevip</span>
<a class="tag" taget="_blank" href="/search/TO/1.htm">TO</a><a class="tag" taget="_blank" href="/search/Date/1.htm">Date</a><a class="tag" taget="_blank" href="/search/String/1.htm">String</a><a class="tag" taget="_blank" href="/search/IE/1.htm">IE</a>
                                    <div>	/**
	 * 字符串转时间(yyyy-MM-dd HH:mm:ss)
	 * result (分钟)
	 */
	stringToDate : function(fDate){
		var fullDate = fDate.split(" ")[0].split("-");
		var fullTime = fDate.split("</div>
                                </li>
                                <li><a href="/article/3606.htm"
                                       title="【数据挖掘学习】关联规则算法Apriori的学习与SQL简单实现购物篮分析" target="_blank">【数据挖掘学习】关联规则算法Apriori的学习与SQL简单实现购物篮分析</a>
                                    <span class="text-muted">superlxw1234</span>
<a class="tag" taget="_blank" href="/search/sql/1.htm">sql</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E6%8C%96%E6%8E%98/1.htm">数据挖掘</a><a class="tag" taget="_blank" href="/search/%E5%85%B3%E8%81%94%E8%A7%84%E5%88%99/1.htm">关联规则</a>
                                    <div>关联规则挖掘用于寻找给定数据集中项之间的有趣的关联或相关关系。 
关联规则揭示了数据项间的未知的依赖关系,根据所挖掘的关联关系,可以从一个数据对象的信息来推断另一个数据对象的信息。 
例如购物篮分析。牛奶 ⇒ 面包 [支持度:3%,置信度:40%]  支持度3%:意味3%顾客同时购买牛奶和面包。   置信度40%:意味购买牛奶的顾客40%也购买面包。   规则的支持度和置信度是两个规则兴</div>
                                </li>
                                <li><a href="/article/3733.htm"
                                       title="Spring 5.0 的系统需求,期待你的反馈" target="_blank">Spring 5.0 的系统需求,期待你的反馈</a>
                                    <span class="text-muted">wiselyman</span>
<a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a>
                                    <div>        
       Spring 5.0将在2016年发布。Spring5.0将支持JDK 9。 
  
       Spring 5.0的特性计划还在工作中,请保持关注,所以作者希望从使用者得到关于Spring 5.0系统需求方面的反馈。 
 </div>
                                </li>
                </ul>
            </div>
        </div>
    </div>

<div>
    <div class="container">
        <div class="indexes">
            <strong>按字母分类:</strong>
            <a href="/tags/A/1.htm" target="_blank">A</a><a href="/tags/B/1.htm" target="_blank">B</a><a href="/tags/C/1.htm" target="_blank">C</a><a
                href="/tags/D/1.htm" target="_blank">D</a><a href="/tags/E/1.htm" target="_blank">E</a><a href="/tags/F/1.htm" target="_blank">F</a><a
                href="/tags/G/1.htm" target="_blank">G</a><a href="/tags/H/1.htm" target="_blank">H</a><a href="/tags/I/1.htm" target="_blank">I</a><a
                href="/tags/J/1.htm" target="_blank">J</a><a href="/tags/K/1.htm" target="_blank">K</a><a href="/tags/L/1.htm" target="_blank">L</a><a
                href="/tags/M/1.htm" target="_blank">M</a><a href="/tags/N/1.htm" target="_blank">N</a><a href="/tags/O/1.htm" target="_blank">O</a><a
                href="/tags/P/1.htm" target="_blank">P</a><a href="/tags/Q/1.htm" target="_blank">Q</a><a href="/tags/R/1.htm" target="_blank">R</a><a
                href="/tags/S/1.htm" target="_blank">S</a><a href="/tags/T/1.htm" target="_blank">T</a><a href="/tags/U/1.htm" target="_blank">U</a><a
                href="/tags/V/1.htm" target="_blank">V</a><a href="/tags/W/1.htm" target="_blank">W</a><a href="/tags/X/1.htm" target="_blank">X</a><a
                href="/tags/Y/1.htm" target="_blank">Y</a><a href="/tags/Z/1.htm" target="_blank">Z</a><a href="/tags/0/1.htm" target="_blank">其他</a>
        </div>
    </div>
</div>
<footer id="footer" class="mb30 mt30">
    <div class="container">
        <div class="footBglm">
            <a target="_blank" href="/">首页</a> -
            <a target="_blank" href="/custom/about.htm">关于我们</a> -
            <a target="_blank" href="/search/Java/1.htm">站内搜索</a> -
            <a target="_blank" href="/sitemap.txt">Sitemap</a> -
            <a target="_blank" href="/custom/delete.htm">侵权投诉</a>
        </div>
        <div class="copyright">版权所有 IT知识库 CopyRight © 2000-2050 E-COM-NET.COM , All Rights Reserved.
<!--            <a href="https://beian.miit.gov.cn/" rel="nofollow" target="_blank">京ICP备09083238号</a><br>-->
        </div>
    </div>
</footer>
<!-- 代码高亮 -->
<script type="text/javascript" src="/static/syntaxhighlighter/scripts/shCore.js"></script>
<script type="text/javascript" src="/static/syntaxhighlighter/scripts/shLegacy.js"></script>
<script type="text/javascript" src="/static/syntaxhighlighter/scripts/shAutoloader.js"></script>
<link type="text/css" rel="stylesheet" href="/static/syntaxhighlighter/styles/shCoreDefault.css"/>
<script type="text/javascript" src="/static/syntaxhighlighter/src/my_start_1.js"></script>





</body>

</html>