【Linux】記一次初始化阿里雲服務器WEB環境並部署Web項目的筆記


title: 初始化阿里雲服務器WEB環境
date: 2019-01-11 16:06:12
tags:

目錄導航

@hucong

初始化阿里雲服務器WEB環境

這是一篇針對我公司web環境的初始化教程,僅以MD的方式分享記錄此教程,對有同樣此需求的同學提供參考

實驗環境

  • 阿里雲ECS
  • 2核/4g/1m
  • CentOS 7.3

安裝配置JDK環境

以安裝在/usr/local/jdk1.8.0_144下的jdk文件爲例:

1.配置環境變量

vim /etc/profile
export JAVA_HOME=/usr/local/jdk1.8.0_144 
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/jre/lib:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar

2.手動使環境變量生效

source /etc/profile

3.檢查JDK配置是否生效

java -version

可以參考我寫在CSDN上的一篇教程 CentOS 7.3安裝JDK8.

切換yum庫爲163

如需備份請參考163官方文檔 CentOS鏡像使用幫助

wget  http://mirrors.163.com/.help/CentOS7-Base-163.repo

安裝運行Nginx(域名)

centos 7以上是用Systemd進行系統初始化的,Systemd 是 Linux 系統中最新的初始化系統(init),它主要的設計目標是克服 sysvinit 固有的缺點,提高系統的啓動速度

sudo yum install nginx
  • yum安裝方式啓動:

Systemd服務文件以.service結尾,比如現在要建立nginx爲開機啓動,如果用yum install命令安裝的,yum命令會自動創建nginx.service文件,直接用命令

sudo systemctl start nginx.service
  • 編譯安裝方式啓動

如果使用源碼安裝,需要手動創建nginx.service服務文件。開機沒有登陸情況下就能運行的程序,存在系統服務(system)裏,所以需要在系統服務目錄裏創建nginx.service文件vi /lib/systemd/system/nginx.service,並添加如下內容

[Unit]
Description=nginx
After=network.target
  
[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s quit
PrivateTmp=true
  
[Install]
WantedBy=multi-user.target

其餘命令

#設置開機啓動
systemcel enable nginx.service
#取消開機自啓
systemctl disable nginx.service
#啓動
systemctl start nginx.service
#查看當前狀態
systemctl status nginx.service
#重新啓動服務
systemctl restart nginx.service 
#查看所有已啓動的服務
systemctl list-units --type=service

CentOS7+Nginx設置Systemctl restart nginx.service服務

安裝卸載MySQL

卸載當前安裝的MySQL

service mysqld stop
yum remove mysql mysql-* rpm -qa|grep mysql
yum remove mysql mysql-server mysql-libs compat-mysql51 yum list installed | grep mysql
yum remove mysql-libs

安裝MySQL

官方文檔和資源文件

rpm -Uvh https://repo.mysql.com//mysql57-community-release-el7-11.noarch.rpm 
rpm -Uvh https://dev.mysql.com/get/mysql57-community-release-el6-11.noarch.rpm 
yum install mysql-community-server

MySQL的安裝配置也可以參考:
Centos 7 mysql數據庫安裝配置教程+設置MySQL主從數據庫備份

數據庫初始化

1.啓動數據庫

service mysqld start  //service mysqld restart重啓

2.由於是通過yum安裝,所以查看默認密碼進行登錄操作

cat /var/log/mysqld.log | grep password  //查看默認密碼
mysql -u root -p'iz-Xeh24k6a*’  //''內容以實際顯示爲準

3.設置安全策略組,方便設置簡單密碼

set global validate_password_policy=0;
set global validate_password_length=4;

4.修改初始密碼

SET PASSWORD = PASSWORD('123456');

5.設置遠程連接

#把在所有數據庫的所有表的所有權限賦值給位於所有IP地址的root用戶。(也可以指定某個數據庫)
mysql> grant all privileges on *.* to root@'%'identified by 'password';
#如果是新用戶而不是root,則要先新建用戶
mysql>create user 'username'@'%' identified by 'password';  

6.重載授權表

FLUSH PRIVILEGES;

7.升級之後刷新

mysql_upgrade -u root -p

安裝配置Tomcat

1.安裝Tomcat

訪問Tomcat,下載Binary版本進行解壓(/usr/local)

  • Source Distribution -是源代碼版,你需要自己編譯成可執行軟件。
  • Binary Distribution -是可執行版,直接可以拿來用的,他已經給你編譯好的版本。

2.配置tomcat多項目單實例

修改Tomcat目錄下的conf/server.xml文件的相應位置

  • 69~71行
<Connector port="8089" protocol="HTTP/1.1"
                connectionTimeout="20000"
                redirectPort="8443" URIEncoding="UTF-8" maxPostSize="-1" />

注:Connector port=“8089” 不能衝突,按實際修改

  • 148~150行
 <Host name="localhost"  appBase=""
            unpackWARs="true" autoDeploy="false">
<Context path="" docBase="/data/saas/saas.war"  reloadable="true" crossContext="true"/>

注:docBase=/data/saas/saas.war爲當前環境下項目包.war所在地址

  • 160~162行
 <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
        prefix="localhost_access_log" suffix=".txt"
        pattern="%h %l %u %t &quot;%r&quot; %s %b" />

3.運行web服務

  • 運行saas平臺
#sh /usr/local/apache-tomcat-saas/tomcat.sh start 
  • 檢查運行情況(服務運行於8081端口)
#lsof -i:8081
COMMAND  PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
java    1481 root   49u  IPv4  16199      0t0  TCP *:tproxy (LISTEN)

有進程說明啓動成功

  • 檢查日誌
#cat /usr/local/apache-tomcat-saas/logs/catalina.20xx-xx-xx.log   //以實際爲準

4.(可選)tomcat啓動慢 有兩種解決

1.在Tomcat環境中解決 可以通過配置JRE使⽤用非阻塞的Entropy Source。 在catalina.sh中加⼊入這麼一行:

JAVA_OPTS="-Djava.security.egd=file:/dev/./urandom"

即可。加⼊入後再啓動Tomcat,整個啓動耗時迅速下降。
2.在JVM環境中解決 打開$JAVA_PATH/jre/lib/security/java.security這個⽂文件,找到下⾯面的內容:

securerandom.source=file:/dev/urandom

替換成

securerandom.source=file:/dev/./urandom

5.(可選)後臺運行和文件遷移

⼀般,我們拷貝的⽂件都很⼤,想讓scp在後臺運⾏。通常我們要建⽴ssh 信任關係。即不輸⼊密碼就能拷貝,但是通常情況下這樣的條件不能滿
⾜。可以⽤下⾯的⽅法來實現後臺運⾏scp:

scp remote_username@remote_ip:remote_file local_folder  

輸⼊密碼,回車。其他指令如下
不清楚可查看:Linux如何查看、關閉、後臺運行任務

  • jobs //查看任務,返回任務編號n和進程號
  • bg %n //將編號爲n的任務轉後臺運⾏行行
  • fg %n //將編號爲n的任務轉前臺運⾏行行
  • ctrl+z //掛起當前任務
  • ctrl+c //結束當前任務
  • 將測試服務器192.168.1.1的/usr/local/frp文件夾複製到正式服務器192.168.1.2的指定位置/usr/local/app下

1.使用scp指令通過ssh協議傳輸

#scp -r /usr/local/frp [email protected]:/usr/local/app

提示是否保存密鑰,並輸入目標服務器的root密碼(192.168.1.2),然後任務開始。
2.Ctrl+Z將任務暫停並掛起到後臺:

[2]+  Stopped                 scp -r /usr/local/frp/ [email protected]:/usr/local/app

3.使用bg指令後臺運行該任務

#bg 2

4.確認該任務狀態

#jobs -l
[2]  24233 Running                 scp -r /usr/local/frp/ [email protected]:/usr/local/app &
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章