服务器部署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表示其余人
复制代码
相关文章
相关标签/搜索