一、nginx
Nginx是一个高性能的HTTP和反向代理服务器

Error: listen EACCES: permission denied 0.0.0.0:80
方式一:用root用户监听80端口
方式二:root启动nginx,nginx转发到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可修改如下配置:
include /etc/nginx/conf.d/*.conf; 配置nginx本身
include /etc/nginx/sites-enabled/*; 配站点(根目录默认指向/var/www/html,可删除默认default)
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 访问页面看看结果呢
(4) 简单集群
root权限,在home/juejin/web目录下
cp server.js server2.js #修改端口号为7777
pm2 start server2.js --name 'webserver2'
集群配置
按轮回:每个服务器一次发请求
按权重:十核和一核的服务器,每十一个请求,前者请求十次,后者请求一次
按负载:请求cpu更空闲的服务器
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;
}
}
二、mysql
(1) 安装mysql
sudo apt-get install mysql-server #安装mysql(安装成功后通过mysql -uroot测试是否成功)
apt install mysql-client
apt install libmysqlclient-dev
上传项目至home/juejin/web下
导出数据库(选中所有表->存储SQL文件)
- mysql -uroot
- CREATE DATABASE jiagou1 DEFAULT CHARSET=utf8; #创建数据库
- use jiagou1;
- 复制SQL文件中的执行语句
- show tables; #看表表
- 执行update中index.js.
node index.js(如果有权限问题需要刷新Linux权限)
mysql -uroot
CREATE DATABASE jiagou1 DEFAULT CHARSET=utf8; #创建数据库
use jiagou1;
复制SQL文件中的执行语句
三、配置负载均衡
把项目上传到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文件
四、权限
如图:
| 权限项 | 读 | 写 | 执行 | 读 | 写 | 执行 | 读 | 写 | 执行 |
|---|---|---|---|---|---|---|---|---|---|
| 字符表示 | 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表示其他人