在linux服務器上安裝nodejs,mysql8

前言:

最近有個小目標,想要學習一下如何將前端項目部署到個人阿里雲服務器上.我對linux系統的瞭解,基本上是從零開始的,因此即使是完成了環境配置,知識點也比較凌亂,有必要去梳理一下.html

服務器:阿里雲服務器ECS前端

(其實使用輕量服務器會更簡單,有些鏡像實例已經安裝好通用的nodejs基礎環境,可是想要自定義安裝就用ECS)node

登錄服務器工具:Xshell 6mysql

linux系統類型:CentOS7 64位linux

(據我所知有三種linux系統類型,centos對新手相對友好)sql

nodejs的安裝

1.編譯安裝(服務器性能有限,編譯慢,不推薦)

2.經過 yum 進行安裝(安裝的未必是最新版,不推薦)

3.直接安裝編譯好的 Nodejs(推薦)

1.保證阿里雲服務器實例是啓動狀態;shell

2.用Xshell登錄服務器:數據庫

問題:我初次登錄碰見了不容許輸入密碼的狀況,只能輸入Public Key:
解決方案:

.打開服務器實例詳情,打開遠程鏈接:npm

.輸入鏈接密碼,注意遠程鏈接密碼,與服務登錄密碼不是一回事

.輸入服務器帳號,密碼

.修改/etc/ssh/sshd_config文件配置,輸入

vim /etc/ssh/sshd_configvim

打開sshd_config文件,添加

PasswordAuthentication yes 是否能夠密碼認證,修改爲yes

.而後重啓sshd服務

service sshd restart

就能夠正常登錄,固然用public key登錄會更安全

linux以/做爲根目錄,xshell中不一樣的文件/文件夾顏色均不相同,表明着不一樣的含義,相關知識點可參照文末連接;

3.下載對應的二進制文件:通常下載到在/usr/src文件夾下(我曾經下載到/usr/local/src處,並在此處創建軟連接,可是連接不可用)

wget -c https://nodejs.org/dist/v10.16.0/node-v10.16.0-linux-x64.tar.xz

4.提取文件:

tar -xvf node-v10.16.0-linux-x64.tar.xz

5.將解壓縮的文件夾重命名爲nodejs,文件夾路徑不變,固然也能夠放到別的路徑

mv node-v10.16.0-linux-x64 ./node

nodejs中的bin文件夾中的node與npm

6.該方式安裝,Nodejs 的命令 node 和 npm 並不能在全局使用,因此須要創建兩個軟鏈接,鏈接到全局的可執行文件存放處,即/usr/bin處

sudo ln -s /usr/src/nodejs/bin/node /usr/bin/node

sudo ln -s /usr/src/nodejs/bin/npm /usr/bin/npm

/usr/bin文件夾存在node,npm連接

node,npm連接到node下載處的可執行文件
node 和 npm 能夠在全局使用,一樣輸入命令 node -v或者sudo node 來檢查 Nodejs 是否安裝成功

MySQL8的安裝

1.去官網選擇安裝包(mysql的linux系統版本特別多,我換過幾個版本安裝,核心功能應該沒有區別,mini版的會少一些配置,可能須要手動去配.個人服務器是64位x86架構,選擇了圖示版本,裏面不是每一個壓縮包我都用到了!)

點擊DownLoad,跳轉至新頁面

2.依舊在/usr/src下載安裝包並解壓

wget -c https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.17-linux-glibc2.12-x86_64.tar

3.修改文件夾名稱(便於查找)

4.在MySQL根目錄下新建一個文件夾data,用於存放數據

mkdir data

5.建立 mysql 用戶組和 mysql 用戶(簡單來說,Linux系統是一個多用戶多任務的分時操做系統,任何一個要使用系統資源的用戶,都必須首先向系統管理員申請一個帳號,而後以這個帳號的身份進入系統。詳情參見第三部分)

6.改變 mysql 目錄權限

chown -R mysql.mysql /usr/src/mysql/

7.初始化數據庫 在mysql文件夾下建立mysql_install_db安裝文件

mkdir mysql_install_db

chmod 777 ./mysql_install_db //mysql_install_db文件權限就被修改成可讀可寫可執行

複製代碼

進入bin文件夾,初始化

碰見問題:linux libaio.so.1: cannot open shared object file: No such file or directory

解決:缺乏安裝包libaio和libaio-devel.用yum install libaio*。自動安裝這兩個包

從新初始化,此時mysql的密碼爲空 或者在bin下使用命令

./mysqld --initialize-insecure --user=mysql --basedir=/usr/src/mysql --datadir=/usr/src/mysql/data

8.修改mysql的配置文件my.cnf

cd /etc
vim my.cnf
複製代碼

9.mysql配置(把mysql放到本地系統服務中)

# 將mysql.server複製到本地服務對應處
cp -a ./support-files/mysql.server /etc/init.d/mysqld
# chmod +x給予文件權限,變爲綠色的可執行文件
chmod +x /etc/rc.d/init.d/mysqld
# mysql服務添加到添加到系統服務
chkconfig --add mysqld
# 檢查服務是否生效
chkconfig  --list mysqld
複製代碼

10.配置全局環境變量 編輯 / etc/profile 文件

vim /etc/profile
複製代碼

在 profile 文件底部添加以下兩行配置,保存後退出

export PATH=$PATH:/usr/src/mysql/bin:/usr/src/mysql/lib

export PATH 設置環境變量當即生效 source /etc/profile

11.啓動MySQL服務 service mysql start

12.登陸MySQL mysql -u root -p密碼

或者直接輸入mysql,由於此時無密碼

13.設置root帳戶能夠遠程登錄(也能夠在此時修改密碼)

flush privileges; // 刷新權限

14.防火牆開放3306端口

當即啓動防火牆 systemctl start firewalld.service

設置開機啓動防火牆 systemctl enable firewalld.service

開放3306端口 firewall-cmd --zone=public --query-port=3306/tcp

重啓防火牆或者從新載入防火牆規則

systemctl restart firewalld.service

或者firewall-cmd --reload

查看全部打開的端口:

firewall-cmd --zone=public --list-ports

15.修改阿里雲服務器安全組規則

16.用本身的電腦遠程訪問3306端口測試

可使用DBeaver或者Navicat等mysql可視化管理工具登錄遠程mysql

或者使用windows自帶的telnet工具,檢測是否啓用該工具

在cmd窗口輸入

telnet 阿里雲服務器公網IP 3306

未失敗,即爲成功

相關知識點及連接

xshell鏈接服務器沒法用password登陸,只能用public key的解決辦法

連接

inux系統中vim編輯器的操做

連接1 連接2

阿里雲centos環境之修改ssh默認端口

連接

linux軟件包管理器

連接

centos下安裝開發者工具

連接

linux查看文件目錄信息ls命令詳解

連接

CentOS 7.0 配置防火牆

連接1 連接2

linux根目錄下的文件夾詳解

連接

linux系統nodejs部署參考文檔

連接1 連接2

linux的tar壓縮和解壓

連接1 連接2

關於 SSH 工具(xshell 6)裏文件的顏色及含義

連接1 連接2

linux用戶管理和權限

連接1 連接2

端口掃描工具

連接1 連接2

iptables與firewalld兩種防火牆機制

連接1 連接2

相關文章
相關標籤/搜索