一、安装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 port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
改为:
<Connector port="8080" protocol="org.apache.coyote.http11.Http11NioProtocol"
connectionTimeout="20000" maxThreads="1000" minSpareThreads="100" maxSpareThreads="300" acceptCount="1000" redirectPort="8443" disableUploadTimeout="true" enableLookups="false" />
2、禁用ajp协议
找到server.xml文件中的<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />一行删除掉
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>中添加如下代码 :
<role rolename="manager-gui"/>
<user username="tomcat" password="123456" roles="manager-gui"/>
打开文件:/opt/tomcat0/webapps/manager/META-INF/context.xml
找到<Valve className="org.apache.catalina.valves.RemoteAddrValve"
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 <<END
[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命令查看到相关进程,如下图所示:
本文暂时没有评论,来添加一个吧(●'◡'●)