Tomcat支持三种接收请求的处理方式:BIO、NIO、APR
1>、BIO模式:阻塞式I/O操作,表示Tomcat使用的是传统JavaI/O操作(即Java.io包及其子包)。Tomcat7以下版本默认情况下是以bio模式运行的,由于每个请求都要创建一个线程来处理,线程开销较大,不能处理高并发的场景,在三种模式中性能也最低。启动tomcat看到如下日志,表示使用的是BIO模式:

2>、NIO模式:是Java SE
1.4及后续版本提供的一种新的I/O操作方式(即java.nio包及其子包)。是一个基于缓冲区、并能提供非阻塞I/O操作的Java
API,它拥有比传统I/O操作(bio)更好的并发运行性能。要让Tomcat以nio模式来运行比较简单,只需要在Tomcat安装目录/conf/server.xml文件中将如下配置:

<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />

修改成:

<Connector port="8080" protocol="org.apache.coyote.http11.Http11NioProtocol"
connectionTimeout="20000"
redirectPort="8443" />

注意:Tomcat8以上版本,默认使用的就是NIO模式,不需要额外修改

3>、apr模式:简单理解,就是从操作系统级别解决异步IO问题,大幅度的提高服务器的处理和响应性能, 也是Tomcat运行高并发应用的首选模式。
启用这种模式稍微麻烦一些,需要安装一些依赖库,下面以在CentOS6.5版环境下Tomcat-7.0.11为例,介绍安装步聚:

前提需要配置JDK   JAVA_HOME

阿里云  格式化和挂载数据盘  https://help.aliyun.com/document_detail/25426.html?spm=5176.doc25446.2.4.Hlmy9O

tar -zxvf apache-tomcat-7.0.11.tar.gz

环境   CentOS 6.5 64位   yum install -y gcc gcc-c++ 如安装则不用执行

安装apr    官网http://apr.apache.org/download.cgi

1、安装版本

Linux系统:选用Redhat的开源版本CentOS操作系统(这里用CentOS 6.5版本)
JDK:选用版本为jdk1.7.0_45,安装包jdk-7u67-linux-x64.tar.gz
Apache:选用版本2.4.7,安装包httpd-2.4.7.tar.gz
Tomcat:选用版本7.0.47,安装包apache-tomcat-7.0.11.tar.gz
JK:选用版本1.2.37,安装包:tomcat-connectors-1.2.37-src.tar.gz

2、Apache安装:
 (1)、安装apr
  在/usr/local目录下安装apr:
  #tar -zxvf apr-1.5.0.tar.gz  -C /mnt/soft
  #cd apr-1.5.0
  #./configure --prefix=/mnt/soft/apr
  # make
  # make install
 (2)、安装apr-util
  在/usr/local目录下安装apr-util:
  #tar -zxvf apr-util-1.5.3.tar.gz  -C /mnt/soft
  #cd apr-util-1.5.3
  #./configure --prefix=/mnt/soft/apr-util --with-apr=/mnt/soft/apr
  # make
  # make install
 (3)、安装pcre
  在/usr/local目录下安装pcre:
  # tar -zxvf pcre-8.32.tar.gz  -C /mnt/soft
  # cd pcre-8.32
  #./configure --prefix=/mnt/soft/pcre
  # make
  # make install

(4)、 安装APR tomcat-native

//tomcat-native-1.1.27-src.tar.gz  这个我装的tomcat里边就自己带了,在bin目录下,如果你们没有找到,去网上下一个就行了

#cd apache-tomcat-6.0.20/bin

#tar zxvf tomcat-native.tar.gz

#cd tomcat-native/jni/native

#./configure --with-apr=/mnt/soft/apr

#make

#make install

设置 Tomcat 整合 APR 修改 tomcat 的启动 shell (catalina.sh),在该文件中加入启动参数: CATALINA_OPTS="$CATALINA_OPTS -Djava.library.path=/usr/local/apr/lib" 。

(5)、安装httpd
  #tar -zxvf httpd-2.4.7.tar.gz   -C /mnt/soft
  定位到文件夹/usr/local /httpd-2.4.7。
  #cd httpd-2.4.7
  设置安装路径和需要编译的模块。
  # ./configure --prefix=/usr/local/apache --enable-so -enable-proxy -enable-proxy_http=shared--enable-module=so --enable-mods-shared=all --enable-proxy-ajp=shared  --enable-proxy-balancer--with-mpm=worker --with-apr=/usr/local/apr/   --with-apr-util=/usr/local/apr-util/ --with-pcre=/usr/local/pcre
  //备注:prefix定义apache的安装路径
  编译通过,继续安装apache。
  # make

# make install

3、Apache配置及测试
   安装完毕后,在测试启动apache之前先修改/apache/conf /httpd.conf。
  (1)查找ServerName,打开注释,将ServerName值改为对应的IP地址。
 
  (3)以下2个注释去掉:
       #Include conf/extra/httpd-mpm.conf
       #Include conf/extra/httpd-default.conf

(4):保存httpd.conf文件的修改,启动apache服务。
   # /usr/local/apache/bin/apachectl start
   浏览器访问http://127.0.0.1,提示无法连接。说明apache没有成功启动。查看错误日志(/apache/logs/error_log),发现如图错误信息。原因是httpd.conf里面的mod_slotmem_shm.so没有加载。将httpd.conf 文件中的“#LoadModule    slotmem_shm_module modules/mod_slotmem_shm.so”前的“#”去掉即可。

(5)重新启动apache并查看httpd是否运行。
     # /mnt/soft/apache/bin/apachectl start
     # ps -ef | grep httpd
  (6)浏览器测试apache。在浏览器中访问http://127.0.0.1 。页面出现“It's Works!”字样即为成功。
   Apache的启动和关闭:
   在/usr/local/apache/bin下有可执行程序。
  (1)启动apache服务:# /usr/local/apache/bin/apachectl start
  (2)关闭apache服务:#  /usr/local/apache/bin/apachectlstop
  (3)重启apache服务:#  /usr/local/apache/bin/apachectl restart

一、设置Tomcat    server.xml

替换以下内容:

<Executor name="tomcatThreadPool" namePrefix="catalina-exec-" maxThreads="500" minSpareThreads="100" maxIdleTime="60000" />

<Connector port="8080"
        protocol="org.apache.coyote.http11.Http11AprProtocol"
        executor="tomcatThreadPool"
        compression="on"
        compressionMinSize="2048"
        maxThreads="30000"
        minSpareThreads="512"
        maxSpareThreads="2048"
        enableLookups="false"
        redirectPort="8443"
        acceptCount="35000"
        debug="0"
        connectionTimeout="40000"
        disableUploadTimeout="true" URIEncoding="UTF-8" useBodyEncodingForURI="true" />

<Connector port="8009" protocol="AJP/1.3" maxThreads="500" minSpareThreads="100"  acceptCount="1000"
        connectionTimeout="20000" redirectPort="8443" />

<Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat2">

<value>下

<Context reloadable="false" path="" >   
                 <Manager className="de.javakaffee.web.msm.MemcachedBackupSessionManager"  
                    memcachedNodes="n1:121.42.39.69:11211,n2:118.190.116.115:11211"
                    sticky="false"  
                    sessionBackupAsync="false"  
                    lockingMode="auto"  
                    requestUriIgnorePattern=".*\.(ico|png|gif|jpg|css|js)$"  
                    transcoderFactoryClass="de.javakaffee.web.msm.JavaSerializationTranscoderFactory"  
                    />  
            </Context>

//集群  放到 <Engine> 里</Engine>
      <Cluster className="org.apache.catalina.ha.tcp.SimpleTcpCluster" channelSendOptions="8">
       <Manager className="org.apache.catalina.ha.session.BackupManager"
          expireSessionsOnShutdown="false"
          notifyListenersOnReplication="true"
          mapSendOptions="6"/>
   
    <Channel className="org.apache.catalina.tribes.group.GroupChannel">
        <Membership className="org.apache.catalina.tribes.membership.McastService"
            address="224.0.0.1"
            port="45564"
            frequency="500"
            dropTime="3000"/>
        <Receiver className="org.apache.catalina.tribes.transport.nio.NioReceiver"
            address="121.42.39.69"
            port="4000"
            autoBind="100"
            selectorTimeout="5000"
            maxThreads="500"/>
        <Sender className="org.apache.catalina.tribes.transport.ReplicationTransmitter">
            <Transport className="org.apache.catalina.tribes.transport.nio.PooledParallelSender"/>
        </Sender>
        <Interceptor className="org.apache.catalina.tribes.group.interceptors.TcpFailureDetector"/>
        <Interceptor className="org.apache.catalina.tribes.group.interceptors.MessageDispatch15Interceptor"/>
    </Channel>
    <Valve className="org.apache.catalina.ha.tcp.ReplicationValve" filter=""/>
    <Valve className="org.apache.catalina.ha.session.JvmRouteBinderValve"/>
    <Deployer className="org.apache.catalina.ha.deploy.FarmWarDeployer"
         tempDir="/tmp/war-temp/"
         deployDir="/tmp/war-deploy/"
         watchDir="/tmp/war-listen/"
         watchEnabled="false"/>
    <ClusterListener className="org.apache.catalina.ha.session.JvmRouteSessionIDBinderListener"/>
       <ClusterListener className="org.apache.catalina.ha.session.ClusterSessionListener"/>
    </Cluster>

二、Linux下修改JVM内存大小及优化

要添加在tomcat 的bin 下catalina.sh 里,位置cygwin=false前 。注意引号要带上,添加

#JAVA_OPTS="-Xms1024m -Xmx1024m -Xss1024K -XX:PermSize=768m -XX:MaxPermSize=1024m"
JAVA_OPTS="
-Xms1024M
-Xmx1024M
-Xss512k
-XX:+AggressiveOpts
-XX:+UseBiasedLocking
-XX:PermSize=256M
-XX:MaxPermSize=512M
-XX:+DisableExplicitGC
-XX:MaxTenuringThreshold=31
-XX:+UseConcMarkSweepGC
-XX:+UseParNewGC  
-XX:+CMSParallelRemarkEnabled
-XX:+UseCMSCompactAtFullCollection
-XX:LargePageSizeInBytes=128m  
-XX:+UseFastAccessorMethods
-XX:+UseCMSInitiatingOccupancyOnly
-Djava.awt.headless=true"

三、查看当前系统open files的默认值:

ulimit -a

没改过是1024

搜了一下,据说tomcat有默认的日志分割功能,能每天自动生成类似catalina.2010-10-08.log的文件,但是默认catalina.out文件却一直增长.据说到一定大小时占磁盘空间(废话),影响性能,且会报错,这点暂时没发现.其他的查了一下logs文件确实如此. 
解决方法,使用cronolog进行日志切割,据说cronolog是个切割日志的小工具,可以切割很多种日志文件,有空得试试.具体做法如下: 
1、下载(最新版本) 
# wget http://cronolog.org/download/cronolog-1.6.2.tar.gz 
2、解压缩 
# tar zxvf cronolog-1.6.2.tar.gz 
3、进入cronolog安装文件所在目录 
# cd cronolog-1.6.2 
4、运行安装 (如没有安装gcc,则先安装gcc)

安装gcc    
yum install gcc

--------------------------------
# ./configure 
# make 
# make install 
5、查看cronolog安装后所在目录(验证安装是否成功) 
# which cronolog 
一般情况下显示为:/usr/local/sbin/cronolog

6.进入Tomcat的bin目录,打开catalina.sh文件,找到tomcat启动的相关行,或者你直接查找catalina.out,一般我们修改下面行中的内容,

在else-412行左右里修改 
org.apache.catalina.startup.Bootstrap “$@” start  \ 
>> “$CATALINA_BASE”/logs/catalina.out 2>&1 & 
为 
org.apache.catalina.startup.Bootstrap "$@" start 2>&1 \
      | /usr/local/sbin/cronolog  "$CATALINA_BASE"/logs/catalina.%Y-%m-%d.out >> /dev/null &

注释掉         #touch "$CATALINA_OUT"

完成之后重起Tomcat就可以了,在logs目录下可以看到catalina.年-月-日.out的日志,是按日生成的。

-------------------------------------------------------------apache + tomcat 集群

Linux系统:阿里云CentOS 6.5版本
JDK:选用版本为jdk1.7.0_45,安装包jdk-7u67-linux-x64.tar.gz
Apache:选用版本2.4.7,安装包httpd-2.4.7.tar.gz
Tomcat:选用版本7.0.47,安装包apache-tomcat-7.0.11.tar.gz
JK:选用版本1.2.37,安装包:tomcat-connectors-1.2.37-src.tar.gz

1.yum install -y gcc gcc-c++ 如安装则不用执行
2.安装apr             --如上

3.安装 安装apr-util           --如上

4.安装pcre
  # tar -zxvf pcre-8.32.tar.gz
  # cd pcre-8.32
  #./configure --prefix=/usr/local/pcre
  # make
  # make install

5.安装 apache
  #tar -zxvf httpd-2.4.7.tar.gz
  #cd httpd-2.4.7
  设置安装路径和需要编译的模块。
  #./configure --prefix=/usr/local/apache --enable-so -enable-proxy -enable-proxy_http=shared--enable-module=so --enable-mods-shared=all --enable-proxy-ajp=shared  --enable-proxy-balancer--with-mpm=worker --with-apr=/usr/local/apr/   --with-apr-util=/usr/local/apr-util/ --with-pcre=/usr/local/pcre
  #make

#make install

6.Apache配置及测试
   安装完毕后,在测试启动apache之前先修改/apache/conf /httpd.conf。
   (1)查找ServerName,打开注释,将ServerName值改为对应的IP地址。
   (2)在DirectoryIndex中添加 index.jsp。

<IfModule dir_module>
         DirectoryIndex index.html index.jsp
   </IfModule>
   (3)以下2个注释去掉:
   #Include conf/extra/httpd-mpm.conf
   #Include conf/extra/httpd-default.conf

保存httpd.conf文件的修改,启动apache服务。
  # /usr/local/apache/bin/apachectl start
  浏览器访问http://127.0.0.1,提示无法连接。说明apache没有成功启动。查看错误日志(/apache/logs/error_log),发现如图错误信息。原因是httpd.conf里面的mod_slotmem_shm.so没有加载。将httpd.conf 文件中的“#LoadModule slotmem_shm_module              modules/mod_slotmem_shm.so”前的“#”去掉即可。

(4)重新启动apache并查看httpd是否运行。
     # /mnt/soft/apache/bin/apachectl start
     # ps -ef | grep httpd
(5)浏览器测试apache。在浏览器中访问http://127.0.0.1 。页面出现“It's Works!”字样即为成功。
     Apache的启动和关闭:
     在/usr/local/apache/bin下有可执行程序。
     启动apache服务:# /usr/local/apache/bin/apachectl start
     关闭apache服务:#  /usr/local/apache/bin/apachectl stop
     重启apache服务:#  /usr/local/apache/bin/apachectl restart

7.mod_jk安装:
     mod_jk的作用:连接apache和tomcat集群的中间件。
     mod_jk的安装包:tomcat-connectors-1.2.37-src.tar.gz。
安装步骤如下:
    (1)将安装包从/software目录拷贝到/usr/local目录下(图形界面下直接“复制”-“粘贴”即可)。
     #cp /software/tomcat-connectors-1.2.37-src.tar.gz /usr/local
    (2)定位到文件夹/usr/local/。
     #cd /usr/local
    (3)解压安装包到当前目录。
     # tar -zxvf tomcat-connectors-1.2.37-src.tar.gz
    (4)编译安装mod_jk。
     #cd tomcat-connectors-1.2.37-src/native
     # chmod 755 buildconf.sh
     # ./buildconf.sh

如果提示:

buildconf: checking installation...

buildconf: autoconf not found.

You need autoconf version 2.59 or newer installed

to build mod_jk from SVN.

解决:

[root@sony619 native]# yum install autoconf

执行[root@sony619 native]#./buildconf.sh 再次提示:

buildconf: libtool not found.

You need libtool version 1.4 or newer installed

to build mod_jk from SVN.

解决:

[root@sony619 native]#yum install libtool
     # ./configure --with-apxs=/usr/local/apache/bin/apxs
     # make
     # make install
    (5)将/tomcat-connectors-1.2.37/native/apache-2.0下的mod_jk.so文件拷贝到apache安装目录下的modules文件夹下面。
     # cp ./apache-2.0/mod_jk.so /usr/local/apache/modules/

配置/apache/conf /httpd.conf

#加载mod_jk Module
LoadModule jk_module modules/mod_jk.so
# Load Configure while Loading JK Connector Module  
<IfModule jk_module>  
  JkWorkersFile conf/workers.properties  
  JkMountFile conf/uriworkermap.properties  
  JkLogFile logs/mod_jk.log  
  JkLogLevel warn  
</IfModule>  
# Apache Server is working in worker mode  
<IfModule worker.c>  
 StartServers            5  
 ServerLimit            20  
 ThreadLimit           200  
 MaxClients           4000  
 MinSpareThreads        25  
 MaxSpareThreads       250  
 ThreadsPerChild       200  
 MaxRequestsPerChild  500  
</IfModule>

修改ServerName 12.34.56.78:80    你的IP

日志分割

修改 ErrorLog    305行左右

ErrorLog "| /mnt/soft/apache/bin/rotatelogs logs/%Y_%m_%d_error_log 86400 480"
 
修改CustomLog   336行左右

CustomLog  "| /mnt/soft/apache/bin/rotatelogs  logs/%Y_%m_%d.access.log 86400 480" common

8.利用memcached 实现session共享

查看系统是否带有该安装软件,如果有执行命令:
#rpm -e libevent-1.4.13-4.el6.x86_64 --nodeps(由于系统自带的版本旧,忽略依赖删除)

#tar zxvf memcached-1.4.15.tar.gz  -C /mnt/soft
# cd memcached-1.4.15
# ./configure --prefix=/mnt/soft/memcached --with-libevent=/mnt/soft/libevent/
#make
#make install
至此memcached安装完毕;

当启动memcached时经常不能发现libevent.so;可以通过以下命令检查:
   进入/usr/local/memcached/bin目录
   LD_DEBUG=help
./memcached -v
   LD_DEBUG=libs  ./ memcached
-v
   解决方法:(执行)
   ln -s /mnt/soft/libevent/lib/libevent-2.0.so.5 /lib64/libevent-2.0.so.5

启动memcached
1.打开一个终端,输入以下命令:启动
/mnt/soft/memcached/bin/memcached -d -m 256 -u root -p 11211 -c 1024 –P /tmp/memcached.pid

2.停止Memcache进程:
  # kill `cat /tmp/memcached.pid`
  # ps -ef | grep memcached
root 28914 1 0 07:27 ? 00:00:00 memcached -d -m 128 -l localhost -p 11211 -u root (启动ok)

二.调用的包
可从http://code.google.com/p/memcached-session-manager/downloads/list下载所需要的包.
需要注意的是,你只能从该网站下载到 memcached-session-manager-1.5.1.jar  /  memcached-session-manager-tc6-1.5.1.jar  /  msm-javolution-serializer-1.5.1.jar
这3个包,还有2个包分别是 : memcached-2.5.jar  /  javolution-5.5.1.jar这2个包,需要自己另外下载哦.
都是放到tomcat/lib下.

9 配置linux文件自动挂载

CentOS6.6服务器之间文件共享挂载

目的:因为服务器设置了负载均衡,多服务器的文件上传必然要同步,这里的目的把服务器1设置为主文件服务器

服务器1:192.168.1.100

服务器2:192.168.1.20

安装基础所需套件[每台]

1.nfs

[html] view plaincopyprint?

 

yum install nfs-utils

2.设置服务自启动

[plain] view plaincopyprint?

 

chkconfig rpcbind on

chkconfig nfs on

3.启动服务

[plain] view plaincopyprint?

 

service rpcbind start

service nfs start

Centos 服务器1 设置

[plain] view plaincopyprint?

 

/mnt/soft/apache-tomcat-7.0.11/webapps  192.168.1.20(rw,no_root_squash,no_all_squash,sync)
然后重新加载

[plain] view
plaincopyprint?

 

exportfs  -r  
共享列表查看

[plain] view
plaincopyprint?

 

exportfs

Centos 服务器2
设置

1.查看
服务器1 是否已共享

[plain] view
plaincopyprint?

 

showmount -e 192.168.1.100  
如果有共享,则会显示共享列表

3.挂载

[plain] view
plaincopyprint?

 

mount -t nfs -o rw 192.168.1.100:/mnt/soft/apache-tomcat-7.0.11/webapps /mnt/soft/apache-tomcat-7.0.11/webapps

4.查看是否已挂载

 

df -h

5.卸载,删除共享

[plain] view
plaincopyprint?

 

umount /www/wwwroot/www.lanmps.com/uploads

6.设置开机挂载,自动加载

方法一(推荐)
编辑
 /etc/rc.local 文件 ,加入
[html] view
plaincopyprint?

 

mount -t nfs -o rw 192.168.1.100:/www/wwwroot/www.lanmps.com/uploads /www/wwwroot/www.lanmps.com/uploads

linux安装tomcat及优化的更多相关文章

  1. Linux安装Tomcat外部不能访问

    Linux安装Tomcat后本地可以正常访问,可是这时Tomcat还不能被外界访问需要在Linux默认防护墙上打开8080端口 打开 /etc/sysconfig/iptables [root@loc ...

  2. Linux 安装tomcat 及过程中遇到的问题

    Linux 安装tomcat(tomcat能用的前提是系统已经安装jdk) 1.下载linux系统版tomcat,解压后通过ftp上传到Linux服务器     例:tomcat放在 /opt/tom ...

  3. linux安装tomcat后启动报错Cannot find ./catalina.sh的解决方法

    linux安装tomcat后启动报错: Cannot find ./catalina.shThe file is absent or does not have execute permissionT ...

  4. Linux 安装 Tomcat 详细教程

    Linux 安装Tomcat详细步骤 1. 前往tomcat官网复制下载链接, tomcat官网地址:https://tomcat.apache.org/ 2. 进入到指定目录,使用 wget 命令下 ...

  5. Linux安装Tomcat,运行Eclipse,web项目

    到官网下载:https://tomcat.apache.org/download-80.cgi  在这里是8.5.39版本 下载tar,gz 提取解压后,我这里是放到opt目录下 cd  切换目录 / ...

  6. Linux安装Tomcat服务器发布项目教程

    前面小Alan跟大家聊了在Linux服务器上jdk运行环境的安装以及redis非关系型数据库的安装,今天继续跟大家聊聊Tomcat的安装,以及将我们的项目发布上去并成功的访问. 第一步:将tomcat ...

  7. 图解linux安装tomcat(附常用命令)

    本例使用的是centos6.5版本,具体内容如下 一.首先到官方下载tomcat服务 http://tomcat.apache.org/download-70.cgi 二.将tomcat上传至linu ...

  8. Linux安装Tomcat,解决不能访问Manager App

      在Windows环境中安装Tomcat时,只需要在Tomcat目录下/conf/tomcat-user.xml文件增加用户就可以了.在Linux系统中添加了username还是不能访问. 一.Li ...

  9. Linux安装tomcat并部署JavaWeb项目

    前提条件: 安装tomcat前请确认一下信息: 系统安装了JDK,且JDK版本应与javaWeb所使用的JDK一致,具体操作可参见Linux下安装JDK. 打包了javaWeb的.war 文件,具体操 ...

随机推荐

  1. Nodejs 使用 es module (import/export)

  2. There is a chart instance already initialized on the dom!警告

    使用Echarts插件的时候,多次加载会出现There is a chart instance already initialized on the dom.这个错误,改插件已经加载完成. 并且如果你 ...

  3. 在 WPF 中如何在控件上屏蔽系统默认的触摸长按事件

    来源:https://stackoverflow.com/questions/5962108/disable-a-right-click-press-and-hold-in-wpf-applicati ...

  4. linux环境快速安装python3

    之前在linux上安装python3的时候,为了让不影响linux环境原有的python2的环境,选择的方法都是下载对应的linux环境的python包,不过 这里需要注意的是,不要更改linux默认 ...

  5. Atitit 华为基本法 attilax读后感

    Atitit 华为基本法 attilax读后感 “精神对物质的比重是三比一” 认可拿破仑的这句格言 在20多年中国商业和企业史上,一个最基本.也是最大的现象就是,为什么"中国制造" ...

  6. go 资料

    channel 底层原理 https://www.youtube.com/watch?v=KBZlN0izeiY go concurrency https://www.youtube.com/watc ...

  7. asp.net mvc 微信支付代码分析(根据沐雪微信平台3.1商城业务来分析)

    开发微信应用,微信支付是永远要面对的.现在的微信支付相对以往已经很稳定,很少出现诡异情况.再加上无数人开发的经验分享,现在开发微信支付已经没什么难度了. 我这次主要是想基于沐雪微信平台的微商城业务来分 ...

  8. [20170713] 无法访问SQL Server

    背景: 朋友的环境第二天突然访问不了SQL Server,远程SQL Server用户无法登陆,但是本地SQL Server用户登录正常. 报错: 用户XX登录失败(MicroSoft SQL Ser ...

  9. idea 修改单个项目的 默认编码格式

  10. Linux系统盘扩容-物理机非虚拟机

    # Linux系统盘扩容 ## 了解磁盘分区情况 - `blkid` 查看分区情况- `fdisk -l` 分区表 ## 系统挂载分区 - `/etc/fstab` 启动挂载分区情况 ## 双系统下分 ...