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 "%r" %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 &