node,到數據庫,到前端,邊學邊作,終因而搞出來了。html
之因此作的這麼慢是怕所學的知識不紮實,因此看完node,看koa,看完koa看egg,由於egg是最新的庫,並且最近很火,因此就用egg.js了。前端
而後惡補linux的命令,發現數據庫的sql語句很是看不懂,因而就惡補mysql,又看了mongodb,最後決定用mongodb,由於語法簡直和js同樣。vue
前端使用的react,想法很簡單,由於工做中用的就是vue,已經很熟了,想再學學react,redux,學完redux之後對狀態管用有了新的認識,感受以前用的vuex簡直就是模棱兩可,node
部署服務器讓我對linux命令的系統神祕感淡化了不少,其實只是入門的話,簡單的部署,安裝個nginx,git什麼的沒有那麼難,對於我這個非專業運維,徹底夠用了。mysql
egg.jsreact
mongodb+mongooselinux
react+react-router-dom+reduxnginx
ssh root@你的IP地址複製代碼
部署前端代碼我用的Xshell5,用法很簡單。git
後端代碼用的git push 再在服務器上拉取。github
root帳號進行操做,總會給各我的員相應的帳號
adduser username複製代碼
gpasswd -a username sudo複製代碼
cat查看文件
cat /etc/sudoers(這個文件是權限的配置文件)複製代碼
cd到這個文件夾,打開文件
vi sudoers複製代碼
# User privilege specification
root ALL=(ALL:ALL) ALL
username ALL=(ALL:ALL) ALL (在這裏添加)
複製代碼
ssh username@39.106.133.41複製代碼
22端口改成別的
ssh-keygen --help
cd ~/.ssh
ssh-keygen -t rsa -b 4096複製代碼
vi ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
sudo service ssh restart複製代碼
vi /etc/ssh/sshd_configPort 2222 (在這裏修改端口)
AllowUsers usernamePermitRootLogin yes (容許root帳號登錄,能夠改成no)
PasswordAuthentication yes (容許帳號密碼登錄,能夠改成no)複製代碼
ssh -p 2222 username@你的IP複製代碼
sudo apt-get update複製代碼
wget curl git
sudo apt-get install wget curl git
複製代碼
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.11/install.sh | bash複製代碼
source /root/.bashrc複製代碼
nvm install node複製代碼
node -v
npm -v
複製代碼
安裝
cnpm(用cnpm用慣了,感受npm下載太慢了)
npm i cnpm -g複製代碼
列出子文件
ls複製代碼
-l是查看時間的
ls -al (查看隱藏問價以及列出最後編輯時間)複製代碼
vi編輯文件
首先要按一下i進入編輯模式
權限問題在命令前面加上sudo就好
:q //不保存文件退出
:q! //不保存文件強制退出
:wq //保存文件並退出
:wq! //強制保存文件並退出
複製代碼
ls -a能夠查看到未編輯完的文件,刪除 rm 文件名 rm -rf慎用(r遞歸f強制刪除)
mv移動文件或者重命名
複製代碼
pm2 start app.js --name 'username' //起個別名複製代碼
pm2 delete username複製代碼
WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!
ssh-keygen -R 172.16.152.209複製代碼
Host 39.106.133.41 found: line 3複製代碼
Nginx是一個高性能的HTTP和反向代理服務器,也能夠新建端口
apt-get install nginx複製代碼
service nginx configtest複製代碼
nginx配置文件全在/etc/nginx下
cat nginx.conf複製代碼
/etc/nginx/sites-enabled複製代碼
upstream web{
server 39.96.114.57:3000;
}
server {
listen 80;
server_name localhost;
root /usr/share/nginx/html; // 文件存放位置
index index.html index.htm; //文件優先級
location / {
proxy_pass http://web;
}
}
複製代碼
nginx 新增端口
server {
listen 8080;
server_name 39.106.133.41;
root /usr/share/nginx/blog; (這裏是新建的文件夾)
index index.html index.htm;
}複製代碼
upstream webserver{
server 39.106.133.41:8080;
server 39.106.133.41:8090;
}
server {
listen 80;
server_name 39.106.133.41;
location / {
proxy_pass http://webserver;
}
}複製代碼
nginx命令
名稱 |
命令 |
啓動nginx |
nginx -c /etc/nginx/nginx.conf |
關閉 nginx |
nginx -s stop |
重讀配置文件 |
nginx -s reload kill -HUP nginx |
經常使用命令 |
service nginx {start|stop|status|restart|reload|configtest} |
mongodb
wget http://.../mongodb.tgz複製代碼
data文件夾和log文件夾放在了var中
mongod --dbpath=/var/mongodb/data --logpath /var/mongodb/logs/log.log -fork複製代碼
react或者vue項目,打包上傳到相應的nginx裏面
egg的話能夠用git,就像平時上傳代碼同樣,再cnpm i安裝依賴
egg官方文檔寫的很明白,有自帶的進城守護。
npm start複製代碼
npm stop複製代碼