CentOS7快速配置nginx node mysql8.0

目录:node

(一)基础准备mysql

(二)安装nodelinux

(三)安装nginxnginx

(四)安装mySql8.0web

(五)总体配置sql

(六)安装PM2守护进程shell


(一)基础准备
1.1 概述数据库

服务器操做系统为 centos7.4,目的是配置nodejs服务器,用于微信小程序的服务端。npm

1.2 名词小程序

1. putty : 远程链接linux服务器命令行的工具,若是你在服务器旁边就无需使用了。

本文用于登录到服务器执行配置命令。

2. FileZilla : 远程链接linux服务器可视化上传文件的工具。

本文用于上传网站文件,及修改配置文件。

3. Nginx : 是一款是由俄罗斯的程序设计师Igor Sysoev所开发高性能的 Web和 反向代理 服务器。

本文中用于单IP配置多个网站。

4. Node.js : 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。

后期的开发软件就基于node

5. MySQL : Mysql是流行的关系型数据库管理系统

6. https: 是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,所以加密的详细内容就须要SSL。

https的默认端口是443, 就像http默认端口80同样,使用的时候不用加端口号。

7. websocket : 约定了一个通讯的规范,经过一个握手的机制,客户端(浏览器)和服务器(webserver)之间能创建一个相似tcp的链接,从而方便c-s之间的通讯。

使用相似 ws://127.0.0.1 链接

8. PM2 node.js的守护进程

(二)安装node

首先连上centos服务器,使用putty或其余的方式。

node安装基本方法就是下载最新版的node压缩包,解压到服务器,创建全局映射软链接。好比能够下载到本地解压后用FileZilla上传到服务器。

如下经过命令行进行安装。

一、wget下载node.js安装包。

wget https://nodejs.org/dist/v9.11.1/node-v9.11.1-linux-x64.tar.xz
// 本文安装node9.11.1版本,若是其余版本能够本身换

二、 解压文件。

tar xvf node-v9.11.1-linux-x64.tar.xz

三、移动文件到 /usr/local/node文件里

mkdir -p /usr/local/node // 新建文件夹
mv /root/node-v9.11.1-linux-x64/* /usr/local/node/ // 将文件移动到/usr/local/node下。

四、到此node和npm只能在 /usr/local/node/bin文件下使用,要想node和npm全局有效,能够经过建立软链接。

ln -s /usr/local/node/bin/node /usr/local/bin/node // 建立node软链接
ln -s /usr/local/node/bin/npm /usr/local/bin/npm // 建立npm软链接

若是文件想换个目录,能够先删除软链接,在建立软链接:
rm -f /usr/local/bin/node
rm -f /usr/local/bin/npm

五、查看node和npm版本
node -v
npm -v
若是返回版本号,就能够肯定是安装成功了。node的安装方法有不少,另外一种常见的是编译安装,编译安装相对较复杂些,

(三)安装nginx

安装方法有不少,这里是用的yum安装的


// 添加CentOS 7 Nginx yum资源库
rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
// 安装最新版
yum install -y nginx

检查nginx是否安装成功

nginx -t // 有下面提示表明安装成功
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

启动nginx


systemctl start nginx.service // 启动nginx
systemctl stop nginx.service // 中止nginx
systemctl restart nginx.service // 重启nginx
systemctl enable nginx.service // 设置开机启动

nginx启动后在浏览器中输入http://外网IP地址,你就能够看到一个nginx页面


(四)安装mySql8.0
MySQL 8.0是自5.7以后的新版本.本文的安装采用yum在线安装的方式,也可使用编译安装
a)配置MySQL8.0的安装源.

在mysql官网上找到源,打开网址: https://dev.mysql.com/downloads/repo/yum/

 

进入下一个页面,鼠标指向红色圈住的连接,能够找到对应的地址

 

搞到源了,就能够执行安装了
sudo rpm -Uvh https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm

//能够跳过wget,yum安装时候会自动下载,若是比较慢,仍是先wget吧。

wget http://repo.mysql.com/yum/mysql-8.0-community/el/7/x86_64/mysql-community-server-8.0.11-1.el7.x86_64.rpm

b)安装MySQL 8.0

yum install mysql-server

 

c)启动Mysql服务.

service mysqld start

 

d)查看MySQL的状态.

service mysqld status

e)查看mysql为root用户生成的临时密码

grep "A temporary password" /var/log/mysqld.log

使用mysql生成的'root'@'localhost'用户和密码登陆数据库,并修改 其密码,具体命令

shell> mysql -uroot -p

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';

修改密码策略:(先要修改临时密码,才能查看密码策略,才能修改成简单密码!!!)

一、查看当前密码策略

show variables like '%password%';

2. 修改密码策略,也能够在/etc/my.cnf文件添加validate_password_policy配置

set global validate_password.length=1; //虽然设置=1,结果也是最小4位,mysql的限制

set global validate_password.policy=0;

3. 修改成简单的的密码

ALTER USER 'root'@'localhost' IDENTIFIED BY '1234';

4.刷新权限;

flush privileges;

5. 查看认证方式

SELECT host,user,plugin,authentication_string FROM mysql.user;

最主要的是mysql8登陆的密码协议发生了变动,使用mysql命令行客户端彻底能够登陆,以前编写的程序不能登录,提示错误。显示的意思为“认证协议“错误。

修改认证方式,使用传统的认证

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'mypass';

 

//已废弃 update mysql.user set authentication_string = password(‘你准备设置的密码’) where user = ‘用户名’;

经常使用指令:

create database 数据库名;
导入:source /root/wwwroot/Dump20180420.sql; (假设我这里文件在/root/wwwroot/Dump20180420.sql)

注意mysql导出sql文件的时候,将全部表名变成了小写。导入以后可能已有的程序找不到表。
须要 在/etc/my.cnf 文件添加大小写敏感配置

mysql 区分大小写
lower_case_table_names=1 大小写不敏感,表名存储在磁盘是小写的,可是比较的时候是不区分大小写
lower_case_table_names=0 表名存储为给定的大小和比较是区分大小写的
lower_case_table_names=2, 表名存储为给定的大小写可是比较的时候是小写的
最后重启一下MySql服务便可

service mysqld restart

导入数据的时候注意大小写问题 linux将sql中表名变成了小写

而原先设计的mysql数据库中,表名是用大小写来间隔单词的,是大小写敏感(mysql部署在linux上)

(五)总体配置
5.1 配置网站目录
我这里将网站放在了root目录下面,注意修改root目前的权限为755。新建目录及修改权限的操做我是经过FileZilla链接创建的。
在root目录下面创建wwwroot文件夹用于存放网站文件。
在wwwroot目录下面创建www.acctc.com文件夹,
在wwwroot目录下面创建www.open3rd.com文件夹,
这两个文件夹用于放置不一样域名的网站内容,后面要配置到nginx里面。

5.2 配置nginx
nginx配置:
nginx配置文件为 /etc/nginx/nginx.conf


server {
listen 80;
location / {
proxy_pass http://127.0.0.1:3000; # 本地node启动的端口为3000
}
}

将proxy_pass 的值改成 http://127.0.0.1:3000, 3000的端口号为本地node启动的端口号。


重启nginx


systemctl restart nginx.service

在浏览器中输入http://IP地址,进行测试

(六)安装PM2守护进程
npm install pm2 -g

创建软链接

sudo ln -s /usr/local/node/bin/pm2 /usr/bin/pm2

开始运行
pm2 start /root/wwwroot/www.acctc.com/app.js

查看列表
pm2 list

将当前执行列表保存到开机运行
pm2 save

pm2 startup

取消开机自启动

pm2 unstartup systemd

相关文章
相关标签/搜索