如何快速直接地在騰訊雲上部署JavaWeb項目。
我選了ubuntu系統,賬戶是ubuntu——,于是在終端裡:ssh [email protected] 之後輸入密碼,登陸成功。
騰訊雲是預設不提供root賬戶的,但是沒有root賬戶,我們寸步難行,是以第一件事,用騰訊雲提供的指令,切換到root賬戶:
如果沒有root賬戶,接下來的步驟你都很難進行。
之後我們進入我慣用的一個檔案夾:<code>cd /usr/local</code>
這個連結需要你用chrome浏覽器,右擊頁面任意部分,選擇檢查-網絡,然後對linux 64位 tar.gz格式的jdk,點選下載下傳,然後看network面闆中,請求的連結。
直接右擊複制連結是不行的。
這裡下了很久很久,大概一個半小時,才把這170兆的jdk下完。可能是因為我隻選了1兆的帶寬。
之後利用mv指令把這個檔案命名為jdk.tar.gz,然後解壓
把安裝後多出來的新檔案夾命名為jdk8。
然後設定環境變量<code>vi /etc/profile</code>
末尾加上:
jdk1.5以上的版本,不用設定CLASSPATH環境變量。
然後執行<code>source /etc/profile</code>
這樣jdk就安裝完成了,可以輸入 java -version檢視。
依然是在/usr/local檔案夾裡,連結是:
<code>wget http://mirrors.hust.edu.cn/apache/tomcat/tomcat-8/v8.5.12/bin/apache-tomcat-8.5.12.tar.gz</code>
之後的步驟如同jdk,解壓即可,不需要設定環境變量,之後編輯遠端tomcat伺服器下的<code>conf/tomcat-users.xml</code>,在末尾增加(其實隻要拉到檔案末尾,去掉注釋改一下就可以了)
将上面的password改為自己的密碼,注意對于tomcat9來說,不能同時賦予使用者manager-script和manager-gui角色。第一個角色可以讓你通過Maven的tomcat7插件部署項目,第二個角色可以讓你進入tomcat的管理頁面。
儲存tomcat-users.xml。
在tomcat伺服器的conf/Catalina/localhost/目錄下建立一個manager.xml檔案,寫入如下值:
之後可以到tomcat/bin/下面,用./startup.sh來啟動了。此時的tomcat運作在8080端口,以前我都是用防火牆将80端口轉發至8080解決的,但騰訊雲不允許改動防火牆設定。
你可以用<code>lsof -i:80</code>這樣的指令來檢視端口占用情況。
延伸——(為什麼tomcat無法綁定80端口,解決方案,以及更優解):Tomcat預設是綁定8080端口,參考<code>tomcat/conf/service.xml</code>:
你可以把這裡的8080改成80,但這樣就不能簡單的<code>./startup.sh</code>啟動了,要用<code>sudo /usr/local/tomcat/bin/catalina.sh</code>(因為linux是預設1024一下的端口不開放的,必須要用權限),但這樣時tomcat會提示你找不到java的環境變量:
因為,在catalina.sh中,寫到
也就是說,你需要在bin檔案夾下,<code>vim setenv.sh</code>,在這裡添加你的Java環境變量:
<code>export JAVA_HOME=/usr/local/jdk</code>執行。
但其實這樣,并不太好,tomcat隻是java的東西,如果你還有php的,.net的,Python的别的程式也想要80端口怎麼辦?
其實你可以就讓tomcat在8080端口,用Nginx解決,我會放在第五步說。
傻瓜操作,隻管輸入 <code>sudo apt-get install mysql-server</code>
伺服器自己就會跑起來安裝,中間會讓你輸入密碼,比如我輸入mysql。
安裝成功後,會自動運作,我們檢查一下:
接下來我們改一下MySql的預設字元集
用vi打開MySQL伺服器的配置檔案my.conf
<code>~ sudo vi /etc/mysql/my.conf</code>
此時這個檔案裡其實沒有什麼内容,直接拉到底部複制粘貼就可以了。
在[client]标簽下,增加用戶端的字元編碼
在[mysqld]标簽下,增加伺服器端的字元編碼
此時的MySQL隻會偵聽127.0.0.1:3306的連接配接,由于我隻有一台雲伺服器,這樣顯然是安全且合适的。
Nginx可以綁定80端口。Nginx的安裝好像衆說紛纭,我是看了一下2篇文章安裝成功的。
http://www.jianshu.com/p/7cb1a824333e
https://segmentfault.com/a/1190000007803704
這兩篇,都是好文章,第一篇後半段有一些必須的庫,第二篇中間有安裝方法,注意那裡的make前面沒有#。
Nginx有很多配置檔案,真正有用的在<code>/etc/nginx</code>下面,這裡<code>nginx.conf</code>是主配置檔案,預設會把<code>conf.d</code>這個檔案夾include進去,你隻需要在<code>conf.d</code>下面寫一個配置檔案就行。
進入 <code>conf.d</code>,然後<code>vim tomcat.conf</code>在裡面寫一個server:
之後,你可以測試一下你的配置檔案,<code>nginx -t -c /etc/nginx/nginx.conf</code>
重新開機nginx,這個重新開機也分為2種,看你的是通過apt-get安裝的還是解壓的,我是解壓的,就得先殺死程序,
這樣可以看到master程序的pid,把它kill:<code>kill -QUIT 25044</code>
之後再去你的nginx檔案夾裡,進入sbin檔案夾,執行nginx檔案。
這樣,基本上就行了。
建立SSH信任,在自己的電腦上使用 <code>ssh-keygen -t rsa</code>指令生成公私鑰,一般會存放在<code>~/.ssh</code>檔案夾下,把你的公鑰,即 <code>id_rsa.pub</code>上傳至伺服器:
<code>scp ~/.ssh/id_rsa.pub [email protected]:~/</code>
之後利用sudo指令把它放進.ssh檔案夾下,并改名為 <code>authorized_keys</code>
基本上就這些了,我試了在root使用者的~/.ssh檔案夾下面也放我的公鑰進去,但是依然不能預設root使用者登入。
最後複習一下使用者切換指令:
接下來等待備案完成即可。