提及作一個阿里服務器ECS配置文章也是由於買了一個服務器好幾年了, 一直沒有好好玩過, 基本也就是本身放一些node項目和vue項目展現用, 今天初始化一下服務器,從新配置一番,順便作個新手筆記給你們參考php
這是我本身的服務器配置, 本身玩是足夠了 html
選擇你當時購買的服務器機房
複製代碼
- 中止(關機)
- 才能切換系統
複製代碼
centOS 7.2 64
複製代碼
- 你們字母 + 小寫字母 + 數字
- 儘可能取個簡單點,方便記
複製代碼
軟件我上傳到了百度網盤開箱即用,體積不到1M, 固然也有其餘的軟件請自行百度vue
你服務器的公網IP
複製代碼
22
複製代碼
ssh
複製代碼
- 第一次會生成密鑰
- 本身我的電腦 是
- 公用電腦 否
複製代碼
- root
- 密碼 (切換系統的時候設置的密碼)
- 輸入的時候沒有提示,直接輸入
- 就能進入服務器
複製代碼
第一次會彈窗 讓你記錄下密碼,很重要,保存到電腦上,會常常用到
複製代碼
windows系統的電腦搭建Node環境是很簡單的,服務器也同樣node
方便直接建立目錄上傳文件等等
複製代碼
我新建了一個tomato文件專門來存放我配置的東西方便本身查找操做
複製代碼
cd / 進入根目錄
ls 查看目錄
cd tomato/node/ 進入我剛建立的tomato文件下的node文件夾
wget https://nodejs.org/dist/v12.11.0/node-v12.11.0-linux-x64.tar.gz 下載node壓縮包
tar xvf node-v12.11.0-linux-x64.tar.gz 解壓node壓縮包
rm -rf node-v12.11.0-linux-x64.tar.gz 刪除node壓縮包
cd node-v12.11.0-linux-x64/bin ls查看目錄,你會看到 node npm
複製代碼
設置全局(環境變量),在任何目錄均可能運行 node 和 npm 命令mysql
ln -s /tomato/node/node-v12.11.0-linux-x64/bin/node /usr/local/bin/node
ln -s /tomato/node/node-v12.11.0-linux-x64/bin/npm /usr/local/bin/npm
複製代碼
完成上述配置,便可在任何目錄運行node和npm命令了 linux
- 主機
- 公網ip
- 端口
- 22
- 協議
- ssh
- 登陸類型
- 正常
- 用戶名
- root
- 密碼
- 你的密碼
複製代碼
寫一個js,用node運行起來,而後經過公網ip的形式訪問, 這裏我寫了一個簡單的接口文件
複製代碼
http.jssql
const http = require('http')
const request = require('http').request
const fs = require('fs')
// 代理跨域
const fn = response => {
const options = {
host: "localhost",
port: 4001,
method: "get",
path: "/"
}
//執行就發起請求了
const req = request(options, res => {
// console.log(res);
let data = {}
res.setEncoding("utf8")
res.on("data", (chunk) => {
console.log(`響應主體:${chunk}`);
// 將data賦值爲第三方代理請求回來的數據
data = chunk
})
res.on("end", (chunk) => {
response.write(data)
response.end()
})
})
// 監聽報錯
req.on("error", err => {
console.log(err);
})
req.write("")
req.end()
}
const server = http.createServer((request, response) => {
// 和請求相關的信息都在 request 裏面
// 後臺給客戶端返回的數據, 都在 response 裏面
// CORS跨域 設置容許跨域
response.setHeader("Access-Control-Allow-Origin", "*")
// 設置響應頭, 第一個參數 http 狀態碼, 第二個參數是一個對象
// response.writeHead(2010, {
// "Content-Type": "text/pligin;charset=utf-8" //設置內容的類型
// })
// response.write()能夠調用屢次
// response.write()0向客戶端返回數據, 這裏返回的中文會亂碼,所以須要設置響應頭
// response.write("向客戶端返回數據~~~")
// response.write(request.url) // 請求路徑
// response.write(request.method) // 請求方式
// response.write(JSON.stringify(request.headers)) // 請求頭信息
// response.end()結束響應, 否則會一直處於響應狀態不結束, 只能調用一次
// response.end("~~~我是response.end()返回的數據") // end也能夠返回數據, 必須傳字符串
if (request.method === "GET") {
response.writeHead(200, {
"Content-Type": "text/html;charset=utf-8"
})
switch (request.url) {
case "/":
// response.write(fs.readFileSync("../demo/index.html", "utf8")) // 同步執行
response.write(JSON.stringify({
a: 1,
b: 2
})) // 同步執行
response.end()
break;
case "/home":
//home
fs.readFile("../demo/index.html", "utf8", (err, data) => { // 異步執行
response.write(data)
response.end()
})
break
case "/request": //代理跨域
fn(response)
break
default:
// 404
response.write("<h1>404頁面<h1>")
response.end()
break;
}
}
// response.end()
// 配置請求
})
// 監聽6300端口
server.listen(6300, () => {
console.log("服務監聽在6300端口");
})
複製代碼
將寫好的http.js文件放到nodeDemo文件中運行
而後經過公網ip的形式訪問,會發現訪問不了,緣由是沒有開放端口
- 進入實例
- 安全組
- 配置規則
- 添加安全規則
- 協議類型 TCP
- 80/80
- 6000/9999
- 443/443
- 協議類型 HTTP/HTTPS
- 80/80
- 受權類型:地址段訪問
- 受權對象
- 0.0.0.0/0
複製代碼
這時候經過公網ip的形式訪問就能拿到數據了
只須要進入備案專區
按照流程操做, 官方有流程圖,就能夠備案成功
備案成功的時間大概最快須要15天左右, 慢的話須要一個月
備案經過了,纔可以使用域名訪問虛擬主機的項目
複製代碼
linux + apache + mysql + php
時間較長
服務器均可以用命令操做的
默認是沒有圖形界面的,可是能夠自個百度 安裝圖形界面
centOS 圖形界面
複製代碼
來自阿里雲官方論壇的文檔按照這個文檔配置就能夠了數據庫
LAMP指Linux+Apache+MySQL/MariaDB+Perl/PHP/Python,是一組經常使用來搭建動態網站或者服務器的開源軟件。它們自己都是各自獨立的程序,可是由於常被放在一塊兒使用,擁有了愈來愈高的兼容度,共同組成了一個強大的Web應用程序平臺。apache
// ECS服務器
cat /etc/redhat-release // 查看系統版本
systemctl status firewalld // 命令查看當前防火牆的狀態
systemctl stop firewalld // 臨時關閉防火牆,重啓Linux後,防火牆還會開啓
ystemctl disable firewalld // 永久關閉防火牆
// Apache
httpd -v // 查看Apache的版本號
systemctl start httpd // 啓動Apache服務
systemctl restart httpd // 重啓Apache服務
systemctl enable httpd // 開機自啓動Apache服務
// MySQL
systemctl start mysql // 啓動MySQL服務
systemctl enable mysql // 開機自啓動MySQL服務
mysqladmin -u root password // 修改MySQL的root用戶密碼
mysql -uroot -p // 登陸MySQL數據庫
\q // 退出MySQL
複製代碼