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/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/1882128474353758208.htm"
                           title="银河麒麟V10 ARM架构部署docker" target="_blank">银河麒麟V10 ARM架构部署docker</a>
                        <span class="text-muted">一路走来2022</span>
<a class="tag" taget="_blank" href="/search/%E5%AE%B9%E5%99%A8%E5%8C%96%26amp%3B%E4%BA%91%E5%8E%9F%E7%94%9F/1.htm">容器化&云原生</a><a class="tag" taget="_blank" href="/search/arm%E5%BC%80%E5%8F%91/1.htm">arm开发</a><a class="tag" taget="_blank" href="/search/%E6%9E%B6%E6%9E%84/1.htm">架构</a><a class="tag" taget="_blank" href="/search/docker/1.htm">docker</a>
                        <div>Docker相关部署Docker环境介绍服务器:Huanghe2280V2服务器,鲲鹏服务器主板,鲲鹏920CPUARM架构操作系统:银河麒麟V10在银河麒麟V10下安装docker查看服务器信息#查看系统版本[root@localhostyum.repos.d]#cat/etc/kylin-releaseKylinLinuxAdvancedServerreleaseV10(Tercel)#服务器</div>
                    </li>
                    <li><a href="/article/1882116603458416640.htm"
                           title="《Kubernetes部署篇:基于麒麟V10+ARM64架构部署harbor v2.4.0镜像仓库》" target="_blank">《Kubernetes部署篇:基于麒麟V10+ARM64架构部署harbor v2.4.0镜像仓库》</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/arm64/1.htm">arm64</a><a class="tag" taget="_blank" href="/search/harbor/1.htm">harbor</a>
                        <div>总结:整理不易,如果对你有帮助,可否点赞关注一下?更多详细内容请参考:企业级K8s集群运维实战一、环境信息K8S版本操作系统CPU架构服务版本1.26.15KylinLinuxAdvancedServerV10ARM64harborv2.4.0二、部署操作2.1、资源包下载说明:如果你从别处找来的镜像,redis提示报错ignore-warningsARM64-COW-BUG,可以重新编译redi</div>
                    </li>
                    <li><a href="/article/1881196826267283456.htm"
                           title="MySQL 搭建MHA架构部署" target="_blank">MySQL 搭建MHA架构部署</a>
                        <span class="text-muted">m0_50854537</span>
<a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a><a class="tag" taget="_blank" href="/search/manager/1.htm">manager</a>
                        <div>文章目录MAH一:MAH架构介绍二:适用场景三:MHA工作原理四:MHA的组成1:Manager工具包2:Node工具包五:MHA特点MHA架构部署一:拓扑图二:数据库安装三:数据库配置主从同步四:安装MHA软件五:配置无密码认证六:配置MHA七:健康检查八:查看master1的VIP地址九:启动MHA并查看状态故障模拟与修复一:故障模拟二:故障修复MAH一:MAH架构介绍MHA(MasterHi</div>
                    </li>
                    <li><a href="/article/1834271368808591360.htm"
                           title="lnmt架构" target="_blank">lnmt架构</a>
                        <span class="text-muted">有点小忧郁</span>
<a class="tag" taget="_blank" href="/search/Linux%E8%AF%BE%E7%A8%8B/1.htm">Linux课程</a>
                        <div>lnmt架构安装nginx//创建系统用户nginx[root@localhost~]#useradd-r-M-s/sbin/nologinnginx//安装依赖环境[root@localhost~]#yum-yinstallpcre-developensslopenssl-develgd-develgccgcc-c++[root@localhost~]#yum-ygroupsmarkinstal</div>
                    </li>
                    <li><a href="/article/1833494676934586368.htm"
                           title="mycat双主高可用架构部署-MySQL5.7环境部署第一台" target="_blank">mycat双主高可用架构部署-MySQL5.7环境部署第一台</a>
                        <span class="text-muted">龙哥·三年风水</span>
<a class="tag" taget="_blank" href="/search/MySQL5.7.36/1.htm">MySQL5.7.36</a><a class="tag" taget="_blank" href="/search/%E5%88%86%E5%B8%83%E5%BC%8F/1.htm">分布式</a><a class="tag" taget="_blank" href="/search/%E9%AB%98%E5%8F%AF%E7%94%A8/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/mysql/1.htm">mysql</a><a class="tag" taget="_blank" href="/search/%E5%88%86%E5%B8%83%E5%BC%8F/1.htm">分布式</a>
                        <div>MySQL5.7服务器IP是192.168.31.209及192.168.31.2101、192.168.31.209:3307实例部署a、配置文件mkdir-p/data/mysql/mysql3307/{data,logs}#创建MySQL数据及日志目录vi/data/mysql/mysql3307/my3307.cnf#配置文件整理[client]#password=your_passwor</div>
                    </li>
                    <li><a href="/article/1829224261563281408.htm"
                           title="nginx + lnmp架构部署" target="_blank">nginx + lnmp架构部署</a>
                        <span class="text-muted">时迁10</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>一、nginx简介Nginx是一款轻量级的Web服务器/反向代理服务器及电子(IMAP/POP3)代理服务器。Nginx由俄罗斯的程序设计师IgorSysoev所开发,最初供俄国大型的入口网站及搜寻引擎Rambler使用。第一个公开版本0.1.0发布于2004年10月4日。其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。2011年6月1日,n</div>
                    </li>
                    <li><a href="/article/1828009385062920192.htm"
                           title="Kubernetes存储Volume" target="_blank">Kubernetes存储Volume</a>
                        <span class="text-muted">henan程序媛</span>
<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/Kubernetes/1.htm">Kubernetes</a><a class="tag" taget="_blank" href="/search/k8s/1.htm">k8s</a><a class="tag" taget="_blank" href="/search/pod/1.htm">pod</a>
                        <div>数据是一个企业的发展核心,他涉及到数据存储和数据交换的内容。在生产环境中尤为重要的一部分,在Kubernetes中另一个重要的概念就是数据持久化Volume。一、Volume的概念对于大多数的项目而言,数据文件的存储是非常常见的需求,比如存储用户上传的头像、文件以及数据库的数据。在Kubernetes中,由于应用的部署具有高度的可扩展性和编排能力(不像传统架构部署在固定的位置),因此把数据存放在容</div>
                    </li>
                    <li><a href="/article/1827937154848878592.htm"
                           title="基于gunicorn+flask+docker模型高并发部署" target="_blank">基于gunicorn+flask+docker模型高并发部署</a>
                        <span class="text-muted">Dingdangr</span>
<a class="tag" taget="_blank" href="/search/gunicorn/1.htm">gunicorn</a>
                        <div>基于Gunicorn+Flask+Docker模型的高并发部署是一种现代且高效的微服务架构部署方式,它结合了Flask作为Web框架的简洁性、Gunicorn作为WSGIHTTP服务器的性能优势,以及Docker容器化技术的一致性和可移植性。以下将详细阐述该模型的高并发部署过程:一、环境准备安装Python:确保系统中已安装Python,这是Flask和Gunicorn运行的基础环境。安装Flas</div>
                    </li>
                    <li><a href="/article/1826802608220762112.htm"
                           title="LinuxProbe 0x20 使用LNMP架构部署动态网站环境" target="_blank">LinuxProbe 0x20 使用LNMP架构部署动态网站环境</a>
                        <span class="text-muted">蓝色的&梦</span>
<a class="tag" taget="_blank" href="/search/LinuxProbe/1.htm">LinuxProbe</a><a class="tag" taget="_blank" href="/search/RHEL8/1.htm">RHEL8</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/php/1.htm">php</a>
                        <div>LNMP动态网站部署架构是一套由Linux+Nginx+MySQL+PHP组成的动态网站系统解决方案,具有免费、高效、扩展性强且资源消耗低等优良特性,目前正在被广泛使用。源码包程序在RPM(红帽软件包管理器)技术出现之前,Linux系统运维人员只能通过源码包的方式来安装各种服务程序,这是一件非常繁琐且极易消耗时间与耐心的事情;而且在安装、升级、卸载程序时还要考虑到与其他程序或函数库的相互依赖关系,</div>
                    </li>
                    <li><a href="/article/1759788316858871808.htm"
                           title="电商实战练习部署" target="_blank">电商实战练习部署</a>
                        <span class="text-muted">lisus2007</span>
<a class="tag" taget="_blank" href="/search/Java/1.htm">Java</a><a class="tag" taget="_blank" href="/search/%E6%8C%81%E7%BB%AD%E9%83%A8%E7%BD%B2/1.htm">持续部署</a>
                        <div>基于阿里云ECS服务器实战部署1单架构部署方案1.1部署流程传统方案基于docker2持续集成&持续部署方案随着软件开发复杂度的不断提高,团队开发成员间如何更好地协同工作以确保软件开发的质量已经慢慢成为开发过程中不可回避的问题。互联网软件的开发和发布,已经形成了一套标准流程。如:在互联网企业中,每时每刻都有需求的变更,bug的修复,为了将改动及时更新到生产服务器上,下面的图片我们需要每天执行N多次</div>
                    </li>
                    <li><a href="/article/1759696436217344000.htm"
                           title="企业如何上云?阿里云推出企业上云解决方案,助力企业快速上云" target="_blank">企业如何上云?阿里云推出企业上云解决方案,助力企业快速上云</a>
                        <span class="text-muted">阿里云最新优惠和活动汇总</span>

                        <div>阿里云推出企业上云解决方案一键部署方案,常用架构组合3779.4元/年起,助力企业快速完成高可用、高性能应用架构部署。适用于企业网站建站、云上网站经典架、构业务上云和高可用架构等场景。企业上云活动图.png一、网站建站上云解决方案网站建站方案图1.png1、业务场景企业门户官网、论坛/日均PV低于5万的中小型网站。2、方案优势1.按需付费,快速开通2.构架简洁,运维低投入3.配备基础防护,安全省心</div>
                    </li>
                    <li><a href="/article/1757658850032369664.htm"
                           title="混合云架构的原则与特点" target="_blank">混合云架构的原则与特点</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/%E4%BA%91%E5%8E%9F%E7%94%9F/1.htm">云原生</a>
                        <div>什么是混合云架构?混合云架构结合了两种或多种类型的云环境。混合云架构部署是公有云和私有云的组合,也可能包括本地遗留基础设施。为了让云真正成为混合云架构,这些不同的云环境必须彼此紧密互连,本质上充当可组合的基础架构。几乎所有混合云架构都至少包含一个公有云。混合云架构有点像混合动力汽车。混合动力汽车结合了两种截然不同的技术:汽油发动机和电动发动机。这两种技术的作用方式完全不同,各有优缺点。然而,将两者</div>
                    </li>
                    <li><a href="/article/1756025365479833600.htm"
                           title="Redis哨兵集群工作原理及架构部署(八)" target="_blank">Redis哨兵集群工作原理及架构部署(八)</a>
                        <span class="text-muted">zhengjq~</span>
<a class="tag" taget="_blank" href="/search/redis%E4%BB%8E%E5%85%A5%E9%97%A8%E5%88%B0%E7%B2%BE%E9%80%9A/1.htm">redis从入门到精通</a><a class="tag" taget="_blank" href="/search/redis/1.htm">redis</a>
                        <div>目录1.redis哨兵模式原理2.搭建redis哨兵集群2.1.环境准备2.2.在所有机器上部署redis2.3.三台redis部署完成2.4.配置redis主从2.5.部署哨兵进程sentinel2.6.启动哨兵观察配置文件的变化2.7.模拟主库故障验证应用是否可用2.8.主库挂掉其他节点配置文件的变化1.redis哨兵模式原理redis主从复制的不足:当主库宕机后,slave无法自己变成主库,</div>
                    </li>
                    <li><a href="/article/1754729294501789696.htm"
                           title="使用LNMP架构部署动态网站环境" target="_blank">使用LNMP架构部署动态网站环境</a>
                        <span class="text-muted">独留西厢梦</span>

                        <div>LNMP动态网站部署架构是一套由Linux+Nginx+MySQL+PHP组成的动态网站系统解决方案,具有免费、高效、扩展性强且资源消耗低等优良特性。源码包程序优点:源码包的可移植性非常好,几乎可以在任何Linux系统中安装使用,而RPM软件包是针对特定系统和架构编写的指令集,必须严格地符合执行环境才能顺利安装(即只会去“生硬地”安装服务程序)。使用源码包安装服务程序时会有一个编译过程,因此可以更</div>
                    </li>
                    <li><a href="/article/1754729036094914560.htm"
                           title="LNMP架构部署动态网站" target="_blank">LNMP架构部署动态网站</a>
                        <span class="text-muted">justin_861004</span>
<a class="tag" taget="_blank" href="/search/OS/1.htm">OS</a><a class="tag" taget="_blank" href="/search/php/1.htm">php</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/linux/1.htm">linux</a>
                        <div>一、服务器环境搭建在使用源码包安装服务程序之前,首先要让安装主机具备编译程序源码的环境。这需要具备C语言、C++语言、Perl语言的编译器,以及各种常见的编译支持函数库程序。因此请先配置妥当软件仓库,然后把下面列出的这些软件包都统统安装上:配置服务器本地YUM源软件仓库[root@TradeProbe~]#mkdir-p/media/cdrom#挂载光盘并设置为开机自动挂载[root@TradeP</div>
                    </li>
                    <li><a href="/article/1754656277968994304.htm"
                           title="34 使用 LNMP 架构部署动态网站环境" target="_blank">34 使用 LNMP 架构部署动态网站环境</a>
                        <span class="text-muted">_trick</span>
<a class="tag" taget="_blank" href="/search/%23/1.htm">#</a><a class="tag" taget="_blank" href="/search/RHCE/1.htm">RHCE</a><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/%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><a class="tag" taget="_blank" href="/search/redhat/1.htm">redhat</a>
                        <div>源码包程序LNMP动态网站部署架构LNMP动态网站部署架构是一套由Linux+Nginx+MySQL+PHP组成的动态网站系统解决方案。1.准备工作在使用源码包安装服务程序之前,首先要让安装主机具备编译程序源码的环境。这需要具备C语言、C++语言、Perl语言的编译器,以及各种常见的编译支持函数库程序。因此请先配置妥当软件仓库dnf-yinstallapr*autoconfautomakenuma</div>
                    </li>
                    <li><a href="/article/1754378357115469824.htm"
                           title="SpringCloud中服务间通信(应用间通信)-亲测有效-源码下载-连载2" target="_blank">SpringCloud中服务间通信(应用间通信)-亲测有效-源码下载-连载2</a>
                        <span class="text-muted">雾林小妖</span>
<a class="tag" taget="_blank" href="/search/springCloud/1.htm">springCloud</a><a class="tag" taget="_blank" href="/search/java%E9%A1%B9%E7%9B%AE%E8%A7%A3%E5%86%B3%E6%96%B9%E6%A1%88/1.htm">java项目解决方案</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%E9%97%B4%E9%80%9A%E4%BF%A1/1.htm">微服务间通信</a><a class="tag" taget="_blank" href="/search/RestTemplate%E4%BD%BF%E7%94%A8/1.htm">RestTemplate使用</a><a class="tag" taget="_blank" href="/search/OpenFeign%E4%BD%BF%E7%94%A8/1.htm">OpenFeign使用</a><a class="tag" taget="_blank" href="/search/Eureka/1.htm">Eureka</a><a class="tag" taget="_blank" href="/search/Server/1.htm">Server</a><a class="tag" taget="_blank" href="/search/Eureka/1.htm">Eureka</a><a class="tag" taget="_blank" href="/search/Client/1.htm">Client</a><a class="tag" taget="_blank" href="/search/SpringCloud%E6%B3%A8%E5%86%8C%E4%B8%AD%E5%BF%83/1.htm">SpringCloud注册中心</a>
                        <div>1、微服务概述本案例主要解决微服务之间的相互调用问题如果已经理解什么是微服务,可以直接跳到实战。本案例采用springBoot3.1.7+springCloud2022.0.4版本测试本案例使用springboot2.7.x版本测试代码相同1、微服务是分布式架构,那么为什么要需要使用分布式架构?因为单体服务是将所有的模块都放在一个项目中,这种架构部署简单,维护方便,但是随着功能的增加各个模块之间的</div>
                    </li>
                    <li><a href="/article/1754123478069428224.htm"
                           title="解决Django应用部署时激活链接缺少端口号的问题" target="_blank">解决Django应用部署时激活链接缺少端口号的问题</a>
                        <span class="text-muted">Narutolxy</span>
<a class="tag" taget="_blank" href="/search/Python/1.htm">Python</a><a class="tag" taget="_blank" href="/search/web/1.htm">web</a><a class="tag" taget="_blank" href="/search/django/1.htm">django</a><a class="tag" taget="_blank" href="/search/sqlite/1.htm">sqlite</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a>
                        <div>引言在当今技术迅速发展的时代,前后端分离已经成为现代Web开发的一项标准实践。然而,当我们将这些先进的架构部署到生产环境时,常常会遇到一些预料之外的挑战。问题说明在一个典型的例子中,我在Windows环境下开发了一个采用Django和Vue进行前后端分离的项目,并顺利完成了调试。随后,我开始在LinuxCentOS环境上进行部署。我的项目使用了Django的Djoser库来实现注册功能,其中包括向</div>
                    </li>
                    <li><a href="/article/1753549408516980736.htm"
                           title="DPVS 多活部署架构部署" target="_blank">DPVS 多活部署架构部署</a>
                        <span class="text-muted">码农心语</span>
<a class="tag" taget="_blank" href="/search/%E9%AB%98%E6%80%A7%E8%83%BD/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/dpvs/1.htm">dpvs</a><a class="tag" taget="_blank" href="/search/%E5%A4%9A%E6%B4%BB%E9%9B%86%E7%BE%A4/1.htm">多活集群</a><a class="tag" taget="_blank" href="/search/%E9%83%A8%E7%BD%B2/1.htm">部署</a><a class="tag" taget="_blank" href="/search/%E9%AB%98%E6%80%A7%E8%83%BD/1.htm">高性能</a>
                        <div>一、目标利用DPVS部署一个基于OSPF/ECMP的提供HTTP服务的多活高可用的测试环境。本次部署仅用于验证功能,不提供性能验证。配置两台DPVS组成集群、两台REALSERVER提供实际HTTP服务。注:在虚拟环境里面,通过在一台虚拟服务器上面安装FRRouting来模拟支持OSPF的路由器。二、组网架构![外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传](https://</div>
                    </li>
                    <li><a href="/article/1753028230580813824.htm"
                           title="RocketMQ架构" target="_blank">RocketMQ架构</a>
                        <span class="text-muted">倜傥村的少年</span>
<a class="tag" taget="_blank" href="/search/RocketMQ/1.htm">RocketMQ</a><a class="tag" taget="_blank" href="/search/rocketmq/1.htm">rocketmq</a><a class="tag" taget="_blank" href="/search/%E6%9E%B6%E6%9E%84/1.htm">架构</a>
                        <div>文章目录技术架构部署架构技术架构RocketMQ架构上主要分为四部分,如上图所示:Producer:消息发布的角色,支持分布式集群方式部署。Producer通过MQ的负载均衡模块选择相应的Broker集群队列进行消息投递,投递的过程支持快速失败并且低延迟。Consumer:消息消费的角色,支持分布式集群方式部署。支持以push推,pull拉两种模式对消息进行消费。同时也支持集群方式和广播方式的消费</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>