部署结构说明html
本教程教你们经过阿里云服务器搭建一个由nginx作代理转发的javaweb系统,全部的请求经过nginxjava
转发到对应的tomcat下。mysql
1、准备linux
一、阿里云Ubuntu服务器一台nginx
二、ssh远程链接工具web
window下可使用xshell,putty,securecrt。推荐使用xshell我的以为比较方便。sql
Mac或者linux均可以直接使用控制台链接shell
三、下载安装所须要资源包(tomcat7,nginx1.6,nginx配置 linux环境证书更新脚本),把下载好的resource.zip上传到服务器上 数据库
本例中resource包放在 /home/resource下apache
2、安装基础环境
在开始安装具体的软件前咱们须要安装一些支持性环境或者软件,建立好文件夹。
一、更新apt-get命令
apt-get -y update
二、安装mysql依赖查询和其余所须要用到的程序
apt-get -y install unzip build-essential libncurses5-dev libfreetype6-dev libxml2-dev libssl-dev libcurl4-openssl-dev libjpeg62-dev libpng12-dev libfreetype6-dev libsasl2-dev libpcre3-dev autoconf libperl-dev libtool libaio*
三、清除防火墙设置
iptables -F
四、解压resource.zip,切换到resource文件夹中
unzip /home/resource.zip cd /home/resource
五、更新ssl证书
./env/update_openssl.sh
六、建立所须要用到的文件夹,咱们须要建立的文件结构以下
/home
|- www
|- java1.7 //java环境安装文件夹
|- tomcat7 //tomcat文件夹
|- nginx //nginx根目录
|-sites-enabled //nginx配置文件目录
|-log
|-nginx //nginx日志文件目录
|- webresource
|- static //nginx文件上传目录
mkdir -p /home/www/tomcat7 mkdir -p /home/www/java1.7 mkdir -p /home/www/nginx/sites-enabled mkdir -p /home/www/log/nginx/ mkdir -p /home/www/webresource/static
3、软件安装
一、安装tomcat
mv apache-tomcat-7.0.63 /home/www/tomcat7 chmod -R 750 /home/www/tomcat7
二、安装java运行环境,命令的意思是下载jdk、解压jdk压缩文件、移动解压后的文件
wget tar zxvf jdk-7u55-linux-x64.tar.gz mv jdk1.7.0_55/* /home/www/java1.7
设置java环境变量
echo 'export JAVA_HOME=/home/www/java1.7' >> /etc/profile echo 'export JRE_HOME=/home/www/java1.7/jre' >> /etc/profile echo 'export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH' >> /etc/profile echo 'export PATH=$PATH:$JAVA_HOME/bin' >> /etc/profile export PATH=$PATH:/home/www/java1.7/bin
三、安装ngix
建立文件夹,解压文件
touch /home/www/log/nginx/access.log touch /home/www/log/nginx/error.log tar zxvf nginx-1.6.0.tar.gz mv nginx-1.6.0/* /home/www/nginx/
切换工做目录
cd /home/www/nginx/
开始安装
./configure make make install
修改配置文件
cd /home/resource cp nginx/nginx.conf /usr/local/nginx/conf/nginx.conf cp nginx/webresource /home/www/nginx/sites-enabled/webresource cp nginx/mime.types /home/www/nginx/mime.types
启动nginx,咱们在nginx的root路径下写入一个index.html文件而后启动nginx
touch /home/www/webresource/static/index.html echo "hellow" >> /home/www/webresource/static/index.html /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf ./nginx -s reload
启动成功后你能够经过访问ip看到一个写着hellow的网站
配置nginx代理tomcat,咱们在 /home/www/nginx/sites-enabled 文件下建立一个叫tomcat的文件,文件内容以下,表示nginx将代理www.test.com这个域名,而且转发到本地的tomcat监听端口下。
server { listen 80; server_name www.test.com; root /home/www/tomcat7/webapps/; location / { proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_pass http://localhost:8080; } }
四、mysql数据库安装
sudo apt-get -y install mysql-server sudo apt-get -y install mysql-client sudo apt-get install libmysqlclient-dev
修改远程登陆权限 ,mysql默认是不开启远程登陆的,如要须要开启则须要修改配置
须要改动一下 /etc/mysql/my.cnf文件把#bind-address = 127.0.0.1节点注释掉
注意最新版本mysql my.cnf中已经再也不配置具体参数,而是分红了2个文件
#bind-address 须要在/etc/mysql/mysql.conf.d/mysqld.cnf中修改
修改完成后重启mysql
service mysql restart
建立mysql远程登陆用户,给用户受权数据库管理权限。这里建立了一个testdb数据库,而后建立了一个用户,用户名为:testdb_user,密码为:testdbpassword。这个用户就能够远程登陆mysql数据库了
CREATE DATABASE testdb DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; GRANT ALL PRIVILEGES ON testdb.* TO testdb_user@'%' IDENTIFIED BY 'testdbpassword' WITH GRANT OPTION; flush privileges;
五、安全软件
考虑到服务器端的安全问题,你们能够选择性的安装一些安全软件如安全狗,
wget tar xzvf safedog_linux64.tar.gz mkdir /home/www/safedog mv safedog_an_linux64_2.8.15799/* /home/www/safedog chmod +x *.py ./install.py
启动安全狗
service safedog restart
进入管理界面
sdui