CentOS7.3 JavaWeb項(xiàng)目部署

關(guān)于微柳鏡像使用


鏡像名字:JAVA環(huán)境(CentOS7.3 Nginx Tomcat8 JDK)
鏡像市場地址:點(diǎn)擊這里進(jìn)入
JAVA環(huán)境鏡像使用手冊:點(diǎn)擊進(jìn)入
視頻教程:百度云在線播放與下載
鏡像軟件詳細(xì)列表:

  • Nginx1.12.0
  • Tomcat7.0.77或8.0.43
  • JDK1.8.0_121、1.7.0_80、1.6.0_45
  • MySQL5.6.36
  • Redis3.2.8
  • Memcached1.4.36
  • Jemalloc4.5.0
  • Pure-FTPd1.0.45

源碼安裝目錄:
Nginx:/usr/local/nginx
tomcat:/usr/local/tomcat
JDK:/usr/java
MySQL:/usr/local/mysql
Pureftpd:/usr/local/pureftpd
Redis: /usr/local/redis
Memcached:/usr/local/memcached
數(shù)據(jù)存儲(chǔ)目錄:
數(shù)據(jù)庫(MySQL):/data/mysql
網(wǎng)站根目錄:/data/wwwroot/www.example.com 【添加虛擬主機(jī)會(huì)自動(dòng)創(chuàng)建這個(gè)目錄】
Web訪問日志:/data/wwwlogs
默認(rèn)ip直接訪問內(nèi)容對應(yīng)根目錄:/data/wwwroot/default 【該目錄包含首頁demo等文件,目錄里面文件可刪除,目錄不能刪除】
首頁demo:http://公網(wǎng)IP


參數(shù)優(yōu)化

1. 初始化磁盤


新安裝的系統(tǒng)可以省略此步,也就是恢復(fù)到鏡像的初始狀態(tài)。在后續(xù)使用過程中出現(xiàn)問題,均可以初始化磁盤之后再做后續(xù)步驟。

2. 啟動(dòng)優(yōu)化系統(tǒng) [這一步是根據(jù)自己的系統(tǒng)使用腳本自動(dòng)優(yōu)化,強(qiáng)烈建議操作一次]

cd /root/oneinstack     #必須進(jìn)入oneinstack目錄下執(zhí)行
./optimize.sh         #請勿bash ./optimize.sh(或者sh)這樣執(zhí)行

注意:
可能需要等待1分鐘,請勿中斷
此腳本會(huì)根據(jù)系統(tǒng)配置,自動(dòng)優(yōu)化 Nginx、MySQL、JVM等參數(shù)
顯示結(jié)果:

3. JDK版本切換


cd /root/oneinstack
./change_jdk_version.sh

圖示:

4. MySQL數(shù)據(jù)庫管理


  1. 顯示數(shù)據(jù)庫root默認(rèn)密碼:
cd /root/oneinstack
grep dbrootpwd options.conf #顯示數(shù)據(jù)庫root密碼
  1. 數(shù)據(jù)庫root密碼重置
cd /root/oneinstack
./reset_db_root_password.sh
  1. 創(chuàng)建數(shù)據(jù)庫用戶
    為了安全我們通常給每一個(gè)網(wǎng)站程序建立唯一的數(shù)據(jù)庫連接帳號(hào)(帳號(hào)名不能為root)。
    如:添加一個(gè)用戶名為db_user,密碼為db_pass,授權(quán)為本機(jī)localhost對db_name數(shù)據(jù)庫所有權(quán)限,命令如下
    mysql -uroot –p
    Enter password: #輸入數(shù)據(jù)庫的root密碼,默認(rèn)不顯示密碼
MySQL [(none)]> grant all privileges on db_name.* to db_user@’localhost’ identified by ‘db_pass’;        #授權(quán)語句,特別注意有分號(hào)
MySQL [(none)]> flush privileges;        #權(quán)限立即生效
MySQL [(none)]> exit;        #退出數(shù)據(jù)庫控制臺(tái),特別注意有分號(hào).

圖示:
  1. 配置MySQL遠(yuǎn)程連接

如果需要遠(yuǎn)程連接數(shù)據(jù)庫,需要如下操作(缺一不可):
a. 打開iptables 3306端口

iptables -I INPUT 4 -p tcp -m state --state NEW -m tcp --dport 3306 -j ACCEPT        // 添加規(guī)則
service iptables save      // 保存iptables規(guī)則

圖示:

b. 數(shù)據(jù)庫授權(quán)
使用參考創(chuàng)建數(shù)據(jù)庫用戶的步驟。

5. 管理虛擬主機(jī)


  1. 添加虛擬主機(jī)
cd /root/oneinstack
./vhost.sh

圖示:

說明:

  • 上圖中directory為網(wǎng)站根目錄,腳本執(zhí)行后會(huì)自動(dòng)創(chuàng)建,部署網(wǎng)站時(shí)請將代碼上傳到該目錄。目錄、子目錄和文件權(quán)限都為:www
  • 對應(yīng)Nginx配置文件路徑:
/usr/local/nginx/conf/vhost/demo.oneinstack.com.conf 

demo.oneinstack.com為綁定的域名

  • 對應(yīng)Tomcat配置文件路徑:
/usr/local/tomcat/conf/vhost/demo.oneinstack.com.xml

(demo.oneinstack.com為綁定的域名)

  1. 刪除虛擬主機(jī):
cd  /root/oneinstack
./vhost.sh del

圖示

6. 如何管理FTP賬號(hào)


cd /root/oneinstack
./pureftpd_vhost.sh

圖示:

7. 備份管理


設(shè)置備份參數(shù)

cd /root/oneinstack
./backup_setup.sh

圖示:

立即備份

cd /root/oneinstack
./backup.sh

設(shè)置備份計(jì)劃任務(wù),自動(dòng)定時(shí)備份
如:每天凌晨一點(diǎn)備份 [注:下面命令請勿重復(fù)執(zhí)行]

echo '0 1 * * * cd ~/oneinstack;./backup.sh > /dev/null 2>&1 & ' >> /var/spool/cron/root

查看本地備份
ls -l /data/backup

圖示:

查看阿里云OSS
登陸阿里云管理控制臺(tái),地址:點(diǎn)此查看

圖示:

8. 如何管理服務(wù)


  • Nginx:
service nginx {start|stop|status|restart|reload|configtest}

注意:更改Nginx配置文件,強(qiáng)烈建議reloadTomcat:

service tomcat {start|stop|restart|status}
  • MySQL:
service mysqld {start|stop|restart|reload|status}
  • Pure-Ftpd:
service pureftpd {start|stop|restart|status}
  • Redis:
service redis-server {start|stop|status|restart|reload}

Memcached:

service memcached {start|stop|status|restart|reload}

9. 如何升級(jí)版本


cd /root/oneinstack
./upgrade.sh

圖示:

10.其它管理

如何添加附加組件

cd /root/oneinstack
./addons.sh                #注:支持安裝、卸載功能

圖示:

如何卸載

??可單獨(dú)卸載某些項(xiàng),如數(shù)據(jù)庫用RDS,可單獨(dú)卸載數(shù)據(jù)庫

cd /root/oneinstack
./uninstall.sh           #特別注意備份數(shù)據(jù)

圖示:

部署一個(gè)JavaWeb 網(wǎng)站到服務(wù)器

通過ftp上傳代碼不需要修改權(quán)限,默認(rèn)已經(jīng)是www;在服務(wù)器里面下載代碼必須修改網(wǎng)站根目錄及子、目錄文件權(quán)限都為www;如網(wǎng)站權(quán)限出現(xiàn)問題,請參考下面[關(guān)于網(wǎng)站根目錄權(quán)限]的步驟。

圖示:


訪問http://demo.oneinstack.com,輸入數(shù)據(jù)庫地址(localhost), 用戶名(root),密碼(數(shù)據(jù)庫root密碼),完成

Java應(yīng)用部署說明
默認(rèn)鏡像是做了動(dòng)靜分離,即nginx處理靜態(tài)資源(jss、ccc、圖片等),其余的交給tomcat處理。
默認(rèn)(未綁定域名)對應(yīng)網(wǎng)站根目錄/data/wwwroot/default(不是webapps),部署代碼時(shí)建議將war包解壓(比如example.war,解壓命令:jar xf example.war ,注意權(quán)限必須為www),將其中代碼放到對應(yīng)網(wǎng)站根目錄。
? 如果上傳代碼之后目錄結(jié)構(gòu)為:/data/wwwroot/default/WEB-INF,訪問地址為:http://IP
? 如果上傳代碼之后目錄結(jié)構(gòu)為:/data/wwwroot/default/example/WEB-INF,訪問網(wǎng)站地址為:http://IP/example。

注意:

  • war包也可以不解壓即上傳到對應(yīng)網(wǎng)站根目錄,但必須注意訪問路徑和靜態(tài)資源目錄問題。如果訪問網(wǎng)站時(shí),靜態(tài)資源加載不了,可能是原因是做了動(dòng)靜分離靜態(tài)資源直接有nginx處理,請確認(rèn)nginx是否能找到相關(guān)靜態(tài)資源(nginx網(wǎng)站根目錄:/data/wwwroot/default
  • 如果vhost.sh綁定了域名,如www.example.com,工具會(huì)自動(dòng)生成對應(yīng)根目錄:/data/wwwroot/www.example.com ,請將代碼放入此目錄。
  • Tomcat參數(shù)請修改: /usr/local/tomcat/bin/setenv.sh

關(guān)于網(wǎng)站根目錄權(quán)限

網(wǎng)站根目錄權(quán)限遵循:
文件644,
文件夾755 ,
權(quán)限用戶和用戶組 www
如出現(xiàn)文件權(quán)限問題時(shí),請執(zhí)行下面3條命令:

chown -R www.www /data/wwwroot/
find /data/wwwroot/ -type d -exec chmod 755 {} \;
find /data/wwwroot/ -type f -exec chmod 644 {} \;

關(guān)于Redis、Memcached

Redis默認(rèn)端口:6379
Memcached默認(rèn)端口:11211
默認(rèn)監(jiān)聽地址:127.0.0.1
如果增加Redis最大內(nèi)存大小?

vi /usr/local/redis/etc/redis.conf
maxmemory 1024000000  #單位字節(jié),默認(rèn)1G,可調(diào)整
service redis-server restart   #重啟生效

如何增加Memcached最大內(nèi)存大小?

vi /etc/init.d/memcachedCACHESIZE=256      #單位M,默認(rèn)256M,可調(diào)整
service memcached restart      #重啟生效

更改Redis監(jiān)聽端口

vi /usr/local/redis/etc/redis.conf
bind 127.0.0.1      #改成bind 0.0.0.0,保存
service redis-server restart   #重啟生效

更改Memcached監(jiān)聽端口

vi /etc/init.d/memcached
OPTIONS="-l 127.0.0.1" 改成OPTIONS="", 保存
service memcached restart        #重啟生效

關(guān)于iptables防火墻

默認(rèn)情況下開通22(ssh)80、443(Nginx) 21、20000:30000(FTP)
其它端口都拒絕,如下需要允許其它端口,請如下操作(如開啟8080端口)

iptables -I INPUT 4 -p tcp -m state --state NEW -m tcp --dport 8080 -j ACCEPT
service iptables save #保存iptables規(guī)則

圖示:
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 一、配置防火墻,開啟80端口、3306端口 CentOS 7.0默認(rèn)使用的是firewall作為防火墻,這里改為i...
    ArleyDu閱讀 2,194評(píng)論 0 0
  • 一、MemCache簡介 session MemCache是一個(gè)自由、源碼開放、高性能、分布式的分布式內(nèi)存對象緩存...
    李偉銘MIng閱讀 4,017評(píng)論 2 13
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,711評(píng)論 19 139
  • 系統(tǒng)環(huán)境 所需軟件官方下載地址: 一、 安裝開發(fā)包環(huán)境: 二、 關(guān)閉iptables和Selinux(生產(chǎn)...
    莫名其妙的一生閱讀 1,421評(píng)論 0 4
  • 前言學(xué)校幾乎每次斷電之后,宿舍的機(jī)器IP基本都會(huì)更改,即使可以通過圖形界面去修改,但還是懶得去改。但是docker...
    AlicFeng閱讀 15,932評(píng)論 0 4

友情鏈接更多精彩內(nèi)容