服務器部署2 - nginx、mysql、權限

1、nginx

Nginx是一個高性能的HTTP和反向代理服務器 html

只能root監聽80端口,當咱們將1中1.8處端口改爲80時,將出現此錯誤: Error: listen EACCES: permission denied 0.0.0.0:80

方式一:用root用戶監聽80端口
方式二:root啓動nginx,nginx轉發到node上node

(1) 安裝nginx ( root用戶下 )

apt-get install nginx
複製代碼

(2) 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}

(3) nginx配置

/etc/nginx/nginx.conf可修改以下配置:mysql

include /etc/nginx/conf.d/*.conf; 配置nginx自己
include /etc/nginx/sites-enabled/*; 配站點(根目錄默認指向/var/www/html,可刪除默認default)nginx

cd /etc/nginx/sites-enabled
sudo vi webserver

# 配置以下
server {
    listen 80;
    server_name 47.103.198.148;
    location / {    #配置路由
        proxy_pass http://47.103.198.148:8080;
    }
}

sudo nginx -s reload    #重啓nginx
複製代碼
server.listen(8080) #server.js文件端口須要改爲8080
pm2 start server.js --name 'webserver'
複製代碼

http://47.103.198.148 訪問頁面看看結果呢git

(4) 簡單集羣

root權限,在home/juejin/web目錄下github

cp server.js server2.js #修改端口號爲7777
pm2 start server2.js --name 'webserver2'
複製代碼

集羣配置web

按輪迴:每一個服務器一次發請求
按權重:十核和一核的服務器,每十一個請求,前者請求十次,後者請求一次
按負載:請求cpu更空閒的服務器sql

cd /etc/nginx/sites-enabled
vi webserver.js
upstream webserver {    #配置負載均衡
    server 47.103.198.148:8080;
    server 47.103.198.148:7777;
}
server {
  listen 80;
  server_name 47.103.198.148;
  location / {
    proxy_pass http://webserver;
  }
}
複製代碼

2、mysql

(1) 安裝mysql數據庫

sudo apt-get install mysql-server   #安裝mysql(安裝成功後經過mysql -uroot測試是否成功)
apt install mysql-client
apt install libmysqlclient-dev
複製代碼

上傳項目至home/juejin/web下
導出數據庫(選中全部表->存儲SQL文件)vim

  1. mysql -uroot
  2. CREATE DATABASE jiagou1 DEFAULT CHARSET=utf8; #建立數據庫
  3. use jiagou1;
  4. 複製SQL文件中的執行語句
  5. show tables; #看錶表
  6. 執行update中index.js. node index.js (若是有權限問題須要刷新Linux權限)
mysql -uroot
CREATE DATABASE jiagou1 DEFAULT CHARSET=utf8;   #建立數據庫
use jiagou1;
複製SQL文件中的執行語句
複製代碼

3、配置負載均衡

把項目上傳到github,在服務器經過git clone把github拉下來

cd  /etc/nginx/sites-enabled
vim juejin

# 修改配置以下
upstream webserver {
   server 47.103.198.148:8080;
   server 47.103.198.148:7777;
}
server {
  listen 80;
  server_name 47.103.198.148;
  location / {
    proxy_pass http://webserver;
  }
}

# 配置域名的話配置以下
upstream juejin {
  server 47.103.198.148:8899;
}
server {
  listen 80;
  server_name juejin.cn;
  location / {
    proxy_pass http://juejin;
  }
}
service nginx reload

47.103.198.148 juejin.cn #修改host文件
複製代碼

4、權限

如圖:

權限項 執行 執行 執行
字符表示 r w x r w x r w x
數字表示 4 2 1 4 2 1 4 2 1
權限分配 文件全部者 文件所屬組 其餘用戶

chmod命令

  • 格式1:chomd [ugoa] [+.=] [rwx] 文件或目錄
  • 格式2:chomd nnn文件或目錄

經常使用遞歸命令選項

  • -R:遞歸修改制定目錄蝦全部子項的全新
chmod 700 hello #修改文件全部者權限爲rwx修改權限 
chmod -x hello  #文件全部者、文件所屬組、其餘用戶減去x權限
chmod +x hello  #文件全部者、文件所屬組、其餘用戶加上x權限
chmod u-x hello #文件全部者減去x權限 
chmod -R 777 hello #修改hello及其全部子目錄的權限
 #u表示文件全部者、g表示文件所屬組、o表示其餘人
複製代碼
相關文章
相關標籤/搜索