当前位置: 首页 > news >正文

网站做推广应该如何来做呢哪里推广/网站推广方案有哪些

网站做推广应该如何来做呢哪里推广,网站推广方案有哪些,网站的robots.txt文件,开虚拟机很伤电脑吗jvm运行时数据结构&#xff1a; jvm堆数据机构&#xff1a; -xms 初始化堆大小 默认物理内存的1/64&#xff08;<1GB&#xff09;-xmx 最大堆大小 默认物理内存的1/4&#xff08;<1GB&#xff09;&#xff0c;实际中建议不大于4GB一般建议设置 -xms -xmx 好处是避免每次…

jvm运行时数据结构:

 

jvm堆数据机构:

 

-xms 初始化堆大小 默认物理内存的1/64(<1GB)
-xmx 最大堆大小 默认物理内存的1/4(<1GB),实际中建议不大于4GB
一般建议设置 -xms = -xmx 好处是避免每次在gc后,调整堆的大小,减少系统内存分配开销

整个堆大小=年轻代大小+年老代大小+持久代大小

新生代=1个eden区+2个suivivor区 使用-xmn来设置其大小,默认值大小为整个堆的3/8,用来存放JVM刚分配的java对象

老年代中经过垃圾回收没有被回收掉的对象被复制到老年代,老年代大小无配置参数

-xx:permsize :设置持久代大小 一般和-xx:maxpermsize最大持久代大小一致,为了避免gc后内存的开销
持久代存放class、method元信息,其大小与项目的规模、类、方法的数量有关。一般设置为128M就足够了,设置原则是预留30%的空间

tomcat安装部署

首先到tomcat和jdk官方下载源码包

[root@linux-node1 ~]$ cd  /usr/local/
[root@linux-node1 local]$ ll
-rw-r--r-- 1 root root   9532698 Mar  5 21:50 apache-tomcat-8.5.29.tar.gz
-rw-r--r-- 1 root root 354635831 Mar 19 13:29 jdk-9.0.4_linux-x64_bin.tar.gz

安装jdk和tomcat

[root@linux-node1 local]$ tar  xf jdk-9.0.4_linux-x64_bin.tar.gz
[root@linux-node1 local]$ tar  xf apache-tomcat-8.5.29.tar.gz
[root@linux-node1 local]$ ln -s   /usr/local/jdk-9.0.4  /usr/local/jdk
[root@linux-node1 local]$ ln -s   /usr/local/apache-tomcat-8.5.29  /usr/local/tomcat  

创建管理jdk和tomcat的用户,并对此用户授予所有者权限

[root@linux-node1 local]# useradd  -u  601  tomcat
[root@linux-node1 local]# chown  tomcat.tomcat  /usr/local/jdk  -R
[root@linux-node1 local]# chown  tomcat.tomcat  /usr/local/tomcat -R

创建jdk和tomcat的系统环境变量

[root@linux-node1 local]# vim  /etc/profile.d/tomcat.sh 
export  JAVA_HOME=/usr/local/jdk
export  TOMCAT_HOME=/usr/local/tomcat
export  PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$TOMCAT_HOME/bin:$PATH
export  CLASSPATH=.$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$JAVA_HOME/lib/to
ols.jar 

加载这个脚本,使tomcat和jdk的环境变量生效  [root@linux-node1 ~]# source /etc/profile.d/tomcat.sh 

为了安全起见,切换到tomcat用户环境,使用tomcat用户来启动tomcat

[root@linux-node1 local]# su  - tomcat
[tomcat@linux-node1 ~]$ catalina.sh   start
[tomcat@linux-node1 ~]$ ps  -ef|grep java |grep tomcat
tomcat    16777      1 70 16:19 pts/1    00:00:04 /usr/local/jdk/bin/java -Djava.util.logging.config.file=/usr/local/tomcat/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dignore.endorsed.dirs= -classpath /usr/local/tomcat/bin/bootstrap.jar:/usr/local/tomcat/bin/tomcat-juli.jar -Dcatalina.base=/usr/local/tomcat -Dcatalina.home=/usr/local/tomca -Djava.io.tmpdir=/usr/local/tomcat/temp org.apache.catalina.startup.Bootstrap start
#当然也可以取tomcat进程的pid号,这样就可以创建一个管理tomcat的脚本
[tomcat@linux-node1 ~]$ ps  -ef|grep java |grep tomcat|grep -v  grep |awk  '{print $2}'
16777
[tomcat@linux-node1 ~]$ netstat -lntup
tcp6       0      0 127.0.0.1:8005          :::*                    LISTEN      16777/java          
tcp6       0      0 :::8009                 :::*                    LISTEN      16777/java          
tcp6       0      0 :::8080                 :::*                    LISTEN      16777/java 

能够正常启动tomcat后,就可以创建一个脚本来管理tomcat了,实现通过脚本来启动tomcat或关闭tomcat再或重启tomcat等。

通过设置catalina.sh来配置远程监控jvm

vim  /usr/local/tomcat/bin/catalina.sh
CATALINA_OPTS="$CATALINA_OPTS
-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.port=22222
-Djava.rmi.server.hostname=192.168.182.170"

tomcat 在生产环境下安全规范

1、telnet端口的修改<Server port="8005" shutdown="SHUTDOWN"> 将8005端口修改或shutdown指令字符创做修改比如shutdown="dangji"

  如果这个端口没有修改,可以通过这个端口telnet上来关闭tomcat服务:telnet  192.168.182.170  8005   进入后输入SHUTDOWN即可关闭tomcat服务。

2、ajp连接端口的保护:<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
修改默认端口8009为不易冲突的大于1024端口

3、禁用管理端
删除默认安装目录下的conf/tomcat-users.xml文件,重启tomcat后将会自动生成新的文件
删除默认安装目录下的/webapps下默认所有的目录和文件
将tomcat应用根目录配置为tomcat安装目录以外的目录。例如:在Host标签下添加
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true">
<Context path="" docBase="/usr/local/tomcat/webroot" debug="
0" reloadable="false" crossContext="true">
</Context>

4、文件列表的访问控制
conf/web.xml文件中的default部分listings的配置必须为false,默认是false。表示禁止将文件展示出来

5、版本信息隐藏
修改web.xml重定向403、404以及500等错误指定的错误页面,因为这些错误页面上会显示版本信息,所以要修改错误页面的重定向

6、server header重写
在HTTP Connector配置中加入server的配置

7、访问限制
通过配置,限定访问的ip来源

8、起停脚本的权限收回
去除其他用户对tomcat的bin目录下shutdown.sh、startup.sh、catalina.sh的可执行权限
chmod -R 744 tomcat/bin/*

9、访问日志格式的规范
开启tomcat默认访问日志中的Referer和User-Agent记录

tomcat性能优化:

tomcat线程优化:

<Connector port="80" protocol="HTTP/1.1" maxThreads="600" minSpareThreads="100" maxSpareThreads="500" acceptCount="700"
connectionTimeout="20000" redirectPort="8443" />

maxThreads="600"       ///最大线程数
minSpareThreads="100"///初始化时创建的线程数
maxSpareThreads="500"///一旦创建的线程超过这个值,Tomcat就会关闭不再需要的socket线程。
acceptCount="700"//指定当所有可以使用的处理请求的线程数都被使用时,可以放到处理队列中的请求数,超过这个数的请求将不予处理

可以通过命令:java -xx:+PrintFlagsFinal 显示java所支持的所有的参数及参数对应的默认值

jvm内存调优:

vim  /usr/local/tomcat/bin/catalina.sh JSSE_OPTS="-Xmx4000M -Xms4000M -Xmn600M -XX:PermSize=128M -XX:MaxPermSize=128M -Xss256K -XX:+DisableExplicitGC -XX:SurvivorRatio=1 -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:+CMSParallelRemarkEnabled -XX:+UseCMSCompactAtFullCollection -XX:CMSFullGCsBeforeCompaction=0 -XX:+CMSClassUnloadingEnabled -XX:LargePageSizeInBytes=128M -XX:+UseFastAccessorMethods -XX:+UseCMSInitiatingOccupancyOnly -XX:CMSInitiatingOccupancyFraction=80 -XX:SoftRefLRUPolicyMSPerMB=0 -XX:+PrintClassHistogram -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -XX:+PrintHeapAtGC -Xloggc:log/gc.log "

配置说明:

  • Tomcat 默认是以 java -client 的方式运行,server 意味着是已真正的生产环境来运行,这样可以获得更高的并发、更高效的垃圾回收能力;
  • Xms、Xmx表示JVM 最小内存初始值和最大内存初始值,建议设置为相同参数,以减少CPU对内存资源的调度,避免CPU高速运转进行的垃圾回收;
  • Xmn设置年轻代大小为512m。整个堆大小=年轻代大小 + 年老代大小 + 持久代大小。持久代一般固定大小为64m,所以增大年轻代后,将会减小年老代大小。此值对系统性能影响较大,Sun官方推荐配置为整个堆的3/8;
  • -Xss是指设定每个线程的堆栈大小。这个就要依据你的程序,看一个线程 大约需要占用多少内存,可能会有多少线程同时运行等。一般不易设置超过1M,要不然容易出现out ofmemory;
  • -XX:+AggressiveOpts作用如其名(aggressive),启用这个参数,则每当JDK版本升级时,你的JVM都会使用最新加入的优化技术;
  • -XX:+UseBiasedLocking启用一个优化了的线程锁,我们知道在我们的appserver,每个http请求就是一个线程,有的请求短有的请求长,就会有请求排队的现象,甚至还会出现线程阻塞,这个优化了的线程锁使得你的appserver内对线程处理自动进行最优调配;
  • -XX:PermSize=128M -XX:MaxPermSize=256M JVM使用-XX:PermSize设置非堆内存初始值,默认是物理内存的1/64;在数据量的很大的文件导出时,一定要把这两个值设置上,否则会出现内存溢出的错误。由XX:MaxPermSize设置最大非堆内存的大小,默认是物理内存的1/4。那么,如果是物理内存4GB,那么64分之一就是64MB,这就是PermSize默认值,也就是永生代内存初始大小;四分之一是1024MB,这就是MaxPermSize默认大小;
  • -XX:+DisableExplicitGC在程序代码中不允许有显示的调用”System.gc()”。调用System.gc()付出的代价就是系统响应时间严重降低,就和我在关于Xms,Xmx里的解释的原理一样;
  • -XX:+UseParNewGC 对年轻代采用多线程并行回收。
  • -XX:+UseConcMarkSweepGC 即CMS gc,这一特性只有jdk1.5即后续版本才具有的功能,它使用的是gc估算触发和heap占用触发。我们知道频频繁的GC会造面JVM的大起大落从而影响到系统的效率,因此使用了CMS GC后可以在GC次数增多的情况下,每次GC的响应时间却很短,比如说使用了CMS GC后经过jprofiler的观察,GC被触发次数非常多,而每次GC耗时仅为几毫秒;
  • -XX:+CMSParallelRemarkEnabled在使用UseParNewGC 的情况下, 尽量减少mark的时间;
  • -XX:+UseCMSCompactAtFullCollection在使用concurrent gc 的情况下, 防止 memoryfragmention, 对live object 进行整理, 使 memory 碎片减少;
  • -XX:LargePageSizeInBytes指定 Java heap的分页页面大小;
  • -XX:CMSInitiatingOccupancyFraction=70CMSInitiatingOccupancyFraction,这个参数设置有很大技巧,基本上满足(Xmx-Xmn)*(100- CMSInitiatingOccupancyFraction)/100>=Xmn就 不会出现promotion failed。在我的应用中Xmx是6000,Xmn是512,那么Xmx-Xmn是5488兆,也就是年老代有5488 兆,CMSInitiatingOccupancyFraction=90说明年老代到90%满的时候开始执行对年老代的并发垃圾回收(CMS),这时还 剩10%的空间是5488*10%=548兆,所以即使Xmn(也就是年轻代共512兆)里所有对象都搬到年老代里,548兆的空间也足够了,所以只要满 足上面的公式,就不会出现垃圾回收时的promotion failed,因此这个参数的设置必须与Xmn关联在一起;

参考文章:http://www.open-open.com/lib/view/open1324736648468.html

     http://blog.chinaunix.net/uid-743704-id-2681326.html

转载于:https://www.cnblogs.com/goser/p/8505514.html

http://www.lbrq.cn/news/1338049.html

相关文章:

  • 推荐几个做网站比较好的公司/seo网址超级外链工具
  • 哪些网站seo做的好/郑州企业网站seo
  • 中文网站建设中模板下载/湖南关键词优化首选
  • 如何自己学做网站/网站注册地址
  • 专业做网站的团队/aso优化平台有哪些
  • 做网站好还是阿里巴巴好/产品销售推广方案
  • 手机建站图片/优化百度涨
  • 语言互动网站建设/网站seo快速
  • 网络广告营销的一般过程/郑州搜索引擎优化公司
  • 优质的低价网站建设/搜索引擎优化课程
  • 网站301如何做/免费手机优化大师下载安装
  • 国外免费logo设计网站/邀请注册推广赚钱
  • 导航网站教程/百度推广怎么做效果好
  • 返利网站怎么做的/免费培训网站
  • 用.aspx做网站/烟台seo
  • 化妆品网站建设项目计划书/网络营销的市场背景
  • 网站建设商务代表工作总结/西安seo公司哪家好
  • 城乡建设部网站 挂证/什么是搜索引擎推广
  • 网站正能量晚上免费软件/哪个平台可以接推广任务
  • 企业做网站一般要多少钱/手机怎么建立网站
  • 美橙互联网站模板/百度竞价开户费用
  • 哪些公司做网站开发/谷歌搜索引擎为什么打不开
  • iis7 多个网站 80端口/产品设计公司
  • 网站开发环境与工具/厦门seo管理
  • flash布局网站/nba最新交易
  • 宝鸡做网站市场怎么样/温州seo排名优化
  • 网站文字广告代码/sem是什么的英文缩写
  • 怎样找出那些没有做友链的网站/百度网盟推广
  • 找设计网站公司/商品促销活动策划方案
  • 惠东网站设计/网络营销代运营外包公司
  • 视觉相机偏移补偿
  • 复现论文《基于Retinex理论和深度学习的低照度图像增强算法研究》
  • vue2升级vue3:单文件组件概述 及常用api
  • Elasticsearch 搜索模板(Search Templates)把“可配置查询”装进 Mustache
  • 原创邮件合并Python工具使用说明(附源码)
  • Poetry与UV——现代Python依赖管理的革新者