阿里云服务器安装

基本命令
cd /mnt/tomcat7
ps -ef|grep tomcat
kill -9 端口
bin/startup.sh
tail -f logs/catalina.out
tail -n 100 /mnt/tomcat7/logs/catalina.out x:最后几行
一。安装mysql
sudo apt-get update
sudo apt-get install mysql-serverc
apt-get install mysql-client
sudo apt-get install libmysqlclient-dev
sudo netstat -tap | grep mysql
sudo service mysql stop#迁移前必须先停止mysql
创建mysql 存放的 目标文件夹 一般 默认的 mysql 存储目录在 /var/lib中
sudo mkdir /mnt/mysql

修改所属用户 和所属用户组为 msyql
sudo chown -vR mysql:mysql /mnt/mysql/
修改权限
sudo chmod -vR 700 /mnt/mysql/
cp -av /var/lib/mysql/* /mnt/mysql/
u
修改mysql的配置文件:
sudo vim /etc/mysql/my.cnf
修改 datadir 为 /mnt/mysql
注释掉my.cnf 中的bind-address = 127.0.0.1
sudo vim /etc/apparmor.d/usr.sbin.mysqld
按照图片修改

/mnt/mysql/ r,
/mnt/mysql/** rwk,
从新启动 apparmor 和 mysql
service apparmor reload
service mysql start

mysql -u root -p

grant all on . to ‘yuancheng’@’%’ identified by ‘gy1314’ with grant option;
flush privileges;
exit;
退出mysql
sudo service mysql restart
//热备份mysql数据库
1、主从服务器分别作以下操作:
1.1、版本一致
1.2、初始化表,并在后台启动mysql
1.3、修改root的密码

2、修改主服务器master:
#vi /etc/my.cnf
[mysqld]
log-bin=mysql-bin //[必须]启用二进制日志
server-id=222 //[必须]服务器唯一ID,默认是1,一般取IP最后一段
注释掉:innodb_force_recovery=1

3、修改从服务器slave:
#vi /etc/my.cnf
[mysqld]
log-bin=mysql-bin //[不是必须]启用二进制日志
server-id=226 //[必须]服务器唯一ID,默认是1,一般取IP最后一段
注释掉:innodb_force_recovery=1

4、重启两台服务器的mysql
sudo service mysql restart
5、在主服务器上建立帐户并授权slave:
#/usr/local/mysql/bin/mysql -uroot -pmttang
mysql>GRANT REPLICATION SLAVE ON . to ‘mysync’@‘从服务器ip’ identified by ‘q123456’; //一般不用root帐号,“%”表示所有客户端都可能连,只要帐号,密码正确,此处可用具体客户端IP代替,如192.168.145.226,加强安全。
mysql> flush privileges;
6、登录主服务器的mysql,查询master的状态
mysql> show master status;
±-----------------±---------±-------------±-----------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
±-----------------±---------±-------------±-----------------+
| mysql-bin.000010 | 334 | | |
±-----------------±---------±-------------±-----------------+
1 row in set (0.00 sec)

注:执行完此步骤后不要再操作主服务器MYSQL,防止主服务器状态值变化

7、配置从服务器Slave:
mysql>change master to master_host=‘主服务器ip’,master_user=‘mysync’,master_password=‘q123456’,
master_log_file=‘mysql-bin.000010’,master_log_pos=334; //注意不要断开,308数字前后无单引号。

Mysql>start slave; //启动从服务器复制功能

8、检查从服务器复制功能状态:

mysql> show slave status\G

二。安装tomcat+nginx
//Ubuntu 安装jdk
2.将jdk-7u76-linux-x64.tar.gz拷贝到/mnt/java里面
3进入/mnt/java目录,修改jdk-7u76-linux-x64.tar.gz的可执行权限chmod u+x jdk-7u76-linux-x64.tar.gz
4.执行jdk-7u76-linux-x64.tar.gz
解压tar -zxvf jdk-7u76-linux-x64.tar.gz进行安装
5.进入/etc/profile,进行环境变量配置
6.设置环境变量,在最后添加如下几行
export JAVA_HOME=/mnt/java/jdk1.7.0_76
export CLASSPATH=.: J A V A H O M E / l i b / d t . j a r : JAVA_HOME/lib/dt.jar: JAVAHOME/lib/dt.jar:JAVA_HOME/lib/tools.jar
export PATH= P A T H : PATH: PATH:JAVA_HOME/bin
(注意,linux中环境变量是以":“分割的,不是”;")
7.重启系统reboot
(记得修改后要重启系统)

//Ubuntu 安装tomcat
1.从http://tomcat.apache.org/下载apache-tomcat-7.0.68.tar.gz
2.上传到SSH /mnt 解压tar -zxvf apache-tomcat-7.0.68.tar.gz(重命名为tomcat7)
3、在startup.sh文件最后添加如下:
JAVA_HOME=/mnt/java/jdk1.7.0_76
JRE_HOME=/mnt/java/jdk1.7.0_76/jre
PATH= J A V A H O M E / b i n : JAVA_HOME/bin: JAVAHOME/bin:JRE_HOME: P A T H C L A S S P A T H = . : PATH CLASSPATH=.: PATHCLASSPATH=.:JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
TOMCAT_HOME=/mnt/tomcat7

#wget http://mirror.bit.edu.cn/apache/tomcat/tomcat-7/v7.0.33/bin/apache-tomcat-7.0.33.tar.gz

//Ubuntu 安装nginx

1)、下载
pcre-8.31.tar.gz
解压tar -zxvf pcre-8.31.tar.gz
cd /mnt/pcre-8.31
./configure
make
make installcd

2)、 
sudo apt-get install zlib1g
sudo apt-get install zlib1g.dev
直接输入上述命令后还是不能安装。这就要求我们先装ruby.
在ubuntu里,zlib叫zlib1g,相应的zlib-devel叫zlib1g.dev。默认的安装源里没有zlib1g.dev。要在packages.ubuntu.com上找。
sudo apt-get install ruby
然后再装zlib1g-dev就可以了
sudo apt-get install zlib1g-dev

1)、下载
  sudo wget http://nginx.org/download/nginx-1.2.2.tar.gz

2)、解压
  tar -zxvf nginx-1.2.2.tar.gz

3)、进入相关目录 nginx-1.2.2 进行以下操作
./configure --prefix=/mnt/nginx --with-poll_module --with-http_stub_status_module --with-pcre=…/pcre-8.31 --with-pcre-jit
make
sudo make install  
启动
cd /nginx/sbin
./nginx
停止
./nginx -s stop
重新启动.
./nginx -s reload

(2)高性能配置
ngnix.conf文件具体配置

#user nobody;
#worker_processes的值是cpu个数*2
worker_processes 2;
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
pid /mnt/nginx/logs/nginx.pid;

events {
use epoll;
worker_connections 51200;
multi_accept on;
}

http {
include mime.types;
default_type application/octet-stream;
server_names_hash_bucket_size 128;
client_header_buffer_size 32k;
large_client_header_buffers 4 32k;
client_max_body_size 50m;
sendfile on;
tcp_nopush on;
keepalive_timeout 60;
tcp_nodelay on;
fastcgi_connect_timeout 300;
fastcgi_send_timeout 300;
fastcgi_read_timeout 300;
fastcgi_buffer_size 64k;
fastcgi_buffers 4 64k;
fastcgi_busy_buffers_size 128k;
fastcgi_temp_file_write_size 256k;
gzip on;
gzip_min_length 1k;
gzip_buffers 4 16k;
gzip_http_version 1.1;
gzip_comp_level 2;
gzip_types text/plain application/javascript application/x-javascript text/javascript text/css application/xml application/xml+rss;
gzip_vary on;
gzip_proxied expired no-cache no-store private auth;
gzip_disable “MSIE [1-6].”;
server_tokens off;
#log format
log_format access '$remote_addr - r e m o t e u s e r [ remote_user [ remoteuser[time_local] “KaTeX parse error: Double superscript at position 21: …st" ' '̲status b o d y b y t e s s e n t " body_bytes_sent " bodybytessent"http_referer” ’
‘"$http_user_agent" $http_x_forwarded_for’;
access_log off;
server{
listen 8081;
server_name e.mconcepts.cn;
location /
{
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Proto https;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:8099;
}
}

server {
    listen       80;
    server_name  e.mconcepts.cn;
    root   /mnt/tomcat7/webapps;
  
   #index index.html index.htm index.jsp;
    location / {
       ssi on;
       ssi_silent_errors on;
       ssi_types text/shtml;
      if (-e $request_filename) {
               break;
       }
      if (!-e $request_filename) {
               rewrite ^/(.*)$ /index.php/$1 last;
               break;
       }
    }
    
    location /nginx_status
    {
        stub_status on;
        access_log   off;
    }
    
   location ~ .*\.(jsp|action|do)$ {
     index index.jsp;
     proxy_pass http://127.0.0.1:8080;   #来自jsp请求交给tomcat处理
     proxy_redirect off;
     proxy_set_header Host $host;    #后端的Web服务器可以通过X-Forwarded-Fo获取用户真实IP
     proxy_set_header X-Real-IP $remote_addr;
     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
     client_max_body_size 10m;   #允许客户端请求的最大单文件字节数
     client_body_buffer_size 128k; #缓冲区代理缓冲用户端请求的最大字节数
     proxy_connect_timeout 90;   #nginx跟后端服务器连接超时时间(代理连接超时)
     proxy_read_timeout 90;      #连接成功后,后端服务器响应时间(代理接收超时)
     proxy_buffer_size 4k;       #设置代理服务器(nginx)保存用户头信息的缓冲区大小
     proxy_buffers 6 32k;        #proxy_buffers缓冲区,网页平均在32k以下的话,这样设置
     proxy_busy_buffers_size 64k;#高负荷下缓冲大小(proxy_buffers*2)
     proxy_temp_file_write_size 64k; #设定缓存文件夹大小,大于这个值,将从upstream服务器传
    }
    location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$   #由nginx处理静态页面
    {
     expires 30d;   #使用expires缓存模块,缓存到客户端30天
    }
    
    location ~ .*\.(js|css)$
    {
     expires 12h;
    }
    
    location ~ /\.
    {
        deny all;
    }
    access_log logs/tomcat.log access;
}

}

//nginx pid 找不到
/mnt/nginx/sbin/nginx -c /mnt/nginx/conf/nginx.conf

三。阿里云连接失败问题
1.//登录阿里云远程连接后
sudo vi /etc/ssh/sshd_config
2.//在usePAm yes后加入下面一段话,注意copy进入后代码可能发生变化

Ciphers aes128-cbc,aes192-cbc,aes256-cbc,aes128-ctr,aes192-ctr,aes256-ctr,3des-cbc,arcfour128,arcfour256,arcfour,blowfish-cbc,cast128-cbc
MACs hmac-md5,hmac-sha1,umac-64@openssh.com,hmac-ripemd160,hmac-sha1-96,hmac-md5-96
KexAlgorithms diffie-hellman-group1-sha1,diffie-hellman-group14-sha1,diffie-hellman-group-exchange-sha1,diffie-hellman-group-exchange-sha256,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group1-sha1,curve25519-sha256@libssh.org
3.//重启ssh
sudo /etc/init.d/ssh restart

四。添加字体

先新建目录 拷贝字体文件
需要安装开发包
apt-get install libfreetype6-dev libfontconfig1-dev libgpm-dev

apt-get install fontconfig

apt-get install xfonts-utils

cd /usr/share/fonts/winFonts/
sudo mkfontscale (创建雅黑字体的fonts.scale文件,它用来控制字体旋转缩放)
sudo mkfontdir (创建雅黑字体的fonts.dir文件,它用来控制字体粗斜体产生)
sudo fc-cache -fv (建立字体缓存信息,也就是让系统认识雅黑)

五。二核八G优化
Mysql: my.cnf max_connections=1000
配置 tomcat 运行jvm 配置 :

catalina.sh文件配置:在cygwin=false上加下列代码
JAVA_OPTS="-server -Xms2200M -Xmx3200M -Xss512k -XX:+AggressiveOpts -XX:+UseBiasedLocking -XX:PermSize=128M -XX:MaxPermSize=256M -XX:+DisableExplicitGC -XX:MaxTenuringThreshold=31 -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:+CMSParallelRemarkEnabled -XX:+UseCMSCompactAtFullCollection -XX:LargePageSizeInBytes=128m -XX:+UseFastAccessorMethods -XX:+UseCMSInitiatingOccupancyOnly-Djava.awt.headless=true"
//现在使用的配置
JAVA_OPTS="-server -Xms2048m -Xmx3072m -XX:MaxNewSize=256m -XX:PermSize=512m -XX:MaxPermSize=512m"
应用 c3p0 连接池配置:database.properties
c3p0.minPoolSize=50
c3p0.maxPoolSize=500
c3p0.initialPoolSize=50
c3p0.maxIdleTime=5000
c3p0.acquireIncrement=5
c3p0.breakAfterAcquireFailure=true
c3p0.testConnectionOnCheckin=true
c3p0.acquireRetryAttempts=60
c3p0.acquireRetryDelay=600
c3p0.idleConnectionTestPeriod = 40
c3p0.automaticTestTable = CONN_TEST_TABLE
5 试用jconsole 查看tomcat 中的 线程状态,好多线程都是 blocked on java.util.logging.console 原来是线程一直在等待写日志被block住了。
把写log的语句 全部注释掉。OK 系统终于飞起来了。
现在 能达到 250q/S
需要检查的地方:
CPU
内存
mysql最大连接数
tomcat 连接数配置
tomcat JVM 配置 重要的是内存大小
数据库连接池配置:
程序内部的瓶颈。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值