一、安裝jdk
下載jdk-8u60-linux-x64.rpm,然後上傳到服務器/opt/下,
cd /opt/
rpm -ivh jdk-8u60-linux-x64.rpm
然後增加環境變量:
vi /etc/profile
增加下面代碼
#set env
JAVA_HOME=/usr/java/jdk1.8.0_77
JRE_HOME=/usr/java/jdk1.8.0_77/jre
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export JAVA_HOME JRE_HOME PATH CLASSPATH
:wq
二、安裝tomcat
將apache-tomcat-8.5.14.tar.gz上傳到/opt/下
tar -zxvf apache-tomcat-8.5.14.tar.gz
將解壓的目錄apache-tomcat-8.5.14修改為tomcat0
然後
tar -zxvf apache-tomcat-8.5.14.tar.gz
將解壓的目錄apache-tomcat-8.5.14重命名為tomcat1
然後優化配置
1、tomcat默認使用的bio模式,我們要承擔高併發的話,需要改為nio
修改tomcat1/conf/server.xml
將< <connector>
connectionTimeout="20000"
redirectPort="8443" />
改為:
<connector>
connectionTimeout="20000" maxThreads="1000" minSpareThreads="100" maxSpareThreads="300" acceptCount="1000" redirectPort="8443" disableUploadTimeout="true" enableLookups="false" />
2、禁用ajp協議
找到server.xml文件中的<connector>一行刪除掉
3、配置啟動環境 及優化Jvm
修改/home/www/tomcat1/bin/catalina.sh
找到行# OS specific support. $var _must_ be set to either true or false.在其下面添加以下代碼:
export CATALINA_BASE=/opt/tomcat0
export CATALINA_HOME=/opt/tomcat0
JAVA_OPTS="-Xms4096m -Xmx4096m -Xss1024K -XX:PermSize=256m -XX:MaxPermSize=256m"
上面三行,第1、2行是設置環境變量,第三行是設置jvm內存參數
文件保存後
啟動第1個tomcat
cd /opt/tomcat0/bin
./startup.sh
啟動第2個tomcat
cd /opt/tomcat1/bin
./startup.sh
解決在centos服務器上啟動過慢的問題:
找到 $JAVA_HOME/jre/lib/security/java.security 這個文件,找到裡面的securerandom.source=file:/dev/random修改為securerandom.source=file:/dev/urandom
配置tomcat遠程管理:
打開文件:/opt/tomcat0/conf/tomcat-users.xml
在<tomcat-users>中添加如下代碼 :/<tomcat-users>
<role>
<user>
打開文件:/opt/tomcat0/webapps/manager/META-INF/context.xml
找到<valve>
allow="127\\.\\d+\\.\\d+\\.\\d+|::1|0:0:0:0:0:0:0:1" />將此行刪除
配置好後,重啟tomcat,即可通過網址:http://你的ip:8080/manager/html管理tomcat了。
三、安裝mysql
我這裡服務器用的阿里雲的,所以安裝的時候用的阿里的下載地址
安裝腳本如下:
下載安裝包:
wget http://zy-res.oss-cn-hangzhou.aliyuncs.com/mysql/mysql-5.6.21-linux-glibc2.5-x86_64.tar.gz
解壓:
tar -xzvf mysql-5.6.21-linux-glibc2.5-x86_64.tar.gz
mv mysql-5.6.21-linux-glibc2.5-x86_64/* /opt/mysql
安裝依賴文件:
yum install -y perl-Module-Install.noarch
yum install libaio*
groupadd mysql
useradd -g mysql -s /sbin/nologin mysql
/opt/mysql/scripts/mysql_install_db --datadir=/opt/mysql/data/ --basedir=/opt/mysql --user=mysql
chown -R mysql:mysql /opt/mysql/
chown -R mysql:mysql /opt/mysql/data/
chown -R mysql:mysql /opt/log/mysql
\\cp -f /opt/mysql/support-files/mysql.server /etc/init.d/mysqld
sed -i 's#^basedir=$#basedir=/opt/mysql#' /etc/init.d/mysqld
sed -i 's#^datadir=$#datadir=/opt/mysql/data#' /etc/init.d/mysqld
修改配置:
cat > /etc/my.cnf < [client] port = 3306 socket = /tmp/mysql.sock [mysqld] port = 3306 socket = /tmp/mysql.sock skip-external-locking log-error=/opt/log/mysql/error.log key_buffer_size = 16M max_allowed_packet = 1M table_open_cache = 64 sort_buffer_size = 512K net_buffer_length = 8K read_buffer_size = 256K read_rnd_buffer_size = 512K myisam_sort_buffer_size = 8M log-bin=mysql-bin binlog_format=mixed server-id = 1 sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES [mysqldump] quick max_allowed_packet = 16M [mysql] no-auto-rehash [myisamchk] key_buffer_size = 20M sort_buffer_size = 20M read_buffer = 2M write_buffer = 2M [mysqlhotcopy] interactive-timeout expire_logs_days = 5 max_binlog_size = 1000M END 設置開機啟動: /sbin/chkconfig mysqld on 啟動mysql: chmod 755 /etc/init.d/mysqld /etc/init.d/mysqld start 修改linux文件數限制: 將以下腳本存為nolimi.sh,然後執行即可 #!/bin/sh if cat /etc/security/limits.conf | grep "* soft nofile 65535" > /dev/null;then echo "" else echo "* soft nofile 65535" >> /etc/security/limits.conf fi if cat /etc/security/limits.conf | grep "* hard nofile 65535" > /dev/null ;then echo "" else echo "* hard nofile 65535" >> /etc/security/limits.conf fi 修改mysql配置文件/etc/my.cnf,在[mysqld]標籤裡添加以下代碼:max_connections=3600 修改mysql密碼: update user set Password=password('123456') where User='root'; 修改後執行:
flush privileges;
四、安裝vsftp
1、安裝vsftpd
yum -y install vsftpd
2、添加ftp用戶
groupadd www
useradd -g www -M -d /home/www -s /sbin/nologin www &> /dev/null
passwd www
chown -R www:www /home/www
3、配置ftp
打開etc/vsftpd.conf
將chroot_list_enable=NO改為chroot_list_enable=YES
設置被動模式端口
pasv_min_port=3333
pasv_max_port=3333
對於chroot_local_user與chroot_list_enable的組合效果,可以參考下表:
啟動vsftp服務:service vsftpd start
修改用戶www的默認主目錄 :
vi /etc/passwd
將www:x:1001:1001::/home/www/:/sbin/nologin一行修改為:
www:x:1001:1001::/opt/:/sbin/nologin
五、安裝nginx
安裝nginx
添加用戶及組
groupadd www
useradd -g www www
安裝必要的模塊:
yum -y install pcre-devel
yum -y install openssl openssl-devel
yum install -y zlib zlib-devel
yum install gcc-c++
下載安裝包:wget http://nginx.org/download/nginx-1.12.0.tar.gz
tar -zxvf nginx-1.12.0.tar.gz
cd nginx-1.12.0
./configure --user=www \\
--group=www \\
--prefix=/usr/local/nginx \\
--with-http_stub_status_module \\
--without-http-cache \\
--with-http_ssl_module \\
--with-http_gzip_static_module
make
make install
進入/usr/local/nginx查看文件是否存在conf、sbin、html文件夾,若存在則安裝成功
chmod 755 /usr/local/nginx/sbin/nginx
優化配置:
編輯/usr/local/nginx/conf/nginx.conf
內容如下:
user www www;
worker_processes 4;
error_log /opt/log/nginx/error.log crit;
pid /usr/local/nginx/logs/nginx.pid;
#Specifies the value for maximum file descriptors that can be opened by this process.
worker_rlimit_nofile 65535;
events
{
use epoll;
worker_connections 65535;
}
http {
include mime.types;
default_type application/octet-stream;
#charset gb2312;
server_names_hash_bucket_size 128;
client_header_buffer_size 32k;
large_client_header_buffers 4 32k;
client_max_body_size 8m;
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 128k;
gzip on;
gzip_min_length 1k;
gzip_buffers 4 16k;
gzip_http_version 1.0;
gzip_comp_level 2;
gzip_types text/plain application/x-javascript text/css application/xml;
gzip_vary on;
#limit_zone crawler $binary_remote_addr 10m;
log_format '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
include /usr/local/nginx/conf/vhosts/*.conf;
}
添加虛擬主機配置文件,在/usr/local/nginx/conf/vhosts/目錄下編輯www.conf,內容如下:
server {
listen 80;
server_name zx.sdchouniu.com;
index index.html index.htm index.jsp;
root /opt/tomcat0/webapps/ROOT;
location / {
proxy_http_version 1.1;
proxy_next_upstream http_502 http_504 error timeout invalid_header;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://127.0.0.1:8080;
}
location ~ .*\\.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 30d;
}
location ~ .*\\.(js|css)?$
{
expires 1h;
}
}
啟動nginx
cd /usr/local/nginx/sbin/
./nginx
快速停止:
./nginx -s stop
完整停止:
./nginx -s quit
重新加載:
./nginx -s reload
檢查nginx配置:
./nginx -t
負載均衡配置:
在/usr/local/nginx/conf/nginx.conf中增加下面代碼:
upstream www_balance{ server 127.0.0.1:8080 weight=5; #tomcat1的端口和權重 server 127.0.0.1:8088 weight=5; #tomcat2的端口和權重}
然後修改vhost/www.conf中的proxy_pass如下:
proxy_pass http://www_balance;
修改後重啟即可生效
以上配置服務啟動後,可以在服務器通過 ps -aux命令查看到相關進程,如下圖所示:
閱讀更多 子曰java 的文章