部署結構說明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