本文为姜友瑶原创作品 非商业转载请注明作译者、出处,并保留本文的原始链接。否则追究法律责任!商业转载请联系作者!
部署结构说明
本教程教大家通过阿里云服务器搭建一个由nginx做代理转发的javaweb系统,所有的请求通过nginx
转发到对应的tomcat下。
一、准备
1、阿里云Ubuntu服务器一台
2、ssh远程连接工具
window下可以使用xshell,putty,securecrt。推荐使用xshell个人觉得比较方便。
Mac或者linux都可以直接使用控制台连接
3、下载安装所需要资源包(tomcat7,nginx1.6,nginx配置 linux环境证书更新脚本),把下载好的resource.zip上传到服务器上
本例中resource包放在 /home/resource下
resource.zip
二、安装基础环境
在开始安装具体的软件前我们需要安装一些支持性环境或者软件,创建好文件夹。
1、更新apt-get命令
apt-get -y update
2、安装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*
3、清除防火墙设置
iptables -F
4、解压resource.zip,切换到resource文件夹中
unzip /home/resource.zip cd /home/resource
5、更新ssl证书
./env/update_openssl.sh
6、创建所需要用到的文件夹,我们需要创建的文件结构如下
/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
三、软件安装
1、安装tomcat
mv apache-tomcat-7.0.63 /home/www/tomcat7 chmod -R 750 /home/www/tomcat7
2、安装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
3、安装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; } }
4、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;
5、安全软件
考虑到服务器端的安全问题,大家可以选择性的安装一些安全软件如安全狗,
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