centOS环境搭建
最近,买了一个腾讯云的服务器,上传了自己的博客,过程中也是很多辛酸泪的!
mark&share
一,构建node环境
- 远程登录
ssh root@公网ip #ssh root@101.34.143.80
安装node.js
wget https://nodejs.org/dist/v10.16.3/node-v10.16.3-linux-x64.tar.xz
解压
tar xvf node-v10.16.3-linux-x64.tar.xz
建立软连接
ln -s /root/node-v10.16.3-linux-x64/bin/node /usr/local/bin/node
ln -s /root/node-v10.16.3-linux-x64/bin/npm /usr/local/bin/npm
- 这里除了软连接,可以配置对应的path
- 在.bash_profile中
vim ~/.bash_profile // 在PATH后面追加全局路径就好了,这样所有的nodejs包cli都可以全局使用 source ~/.bash_profile
在/etc/profile中
vim /etc/profile // 在PATH后面追加全局路径就好了,这样所有的nodejs包cli都可以全局使用 source /etc/profile
临时会话型
PATH=$PATH:/usr/local/mysql/bin alias mysql=/usr/local/mysql/bin/mysql
校验/查看版本
node -v npm -v
node安装多个版本
安装git
yum install -y git
下载nvm源码
git clone git://github.com/cnpm/nvm.git ~/.nvm && cd ~/.nvm && git checkout `git describe --abbrev=0 --tags`
配置nvm环境变量
echo ". ~/.nvm/nvm.sh" >> /etc/profile
读取环境变量
source /etc/profile
查看node版本列表
nvm list-remote
安装指令
nvm install v6.9.5 nvm install v10.16.3
查看已安装node版本
nvm ls
切换版本
nvm use v6.9.5
开一个node服务试一下
const http = require('http'); const hostname = '0.0.0.0'; const port = 7500; const server = http.createServer((req, res) => { res.statusCode = 200; res.setHeader('Content-Type', 'text/plain'); res.end('Hello World\n'); }); server.listen(port, hostname, () => { console.log(`Server running at http://${hostname}:${port}/`); });
公网ip:7500就可以看到Hello World
二,安装和使用nginx
安装gcc
gcc -v yum -y install gcc
Pcre,pcre-devel安装
pcre是一个perl库,包括perl兼容的正则表达式库,nginx的http模块使用pcre来解析正则表达式
yum install -y pcre pcre-devel
zlib安装
提供很多种压缩和解压方式,使用zlib对http包内容进行gzip
yum install -y zlib zlib-devel
openssl安装
openssl是web安全通信的基石,没有openssl,可以说我们的信息都是在裸奔。。。。。。
yum install -y openssl openssl-devel
下载/解压nginx安装包
wget http://nginx.org/download/nginx-1.9.9.tar.gz tar -zxvf nginx-1.9.9.tar.gz #/usr/local下
进入/nginx-1.9.9/下面
./configure make make install
配置nginx.conf文件
/usr/local/nginx/conf vi nginx.conf
启动nginx
/usr/local/nginx/sbin ./nginx ps -ef | grep nginx #查看nginx是否启动成功
- 进程占用端口,杀死进程
lsof -i:80 kill -9 PID
- 附带常用代理配置
#user nobody;
worker_processes 1;
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
#log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';
#access_log logs/access.log main;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
#gzip on;
server {
listen 8080;
server_name localhost;
location / {
root /Users/minyue/Desktop/minyue/reactBlog/build/;
index index.html index.htm;
try_files $uri $uri/ /index.html;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
# HTTPS server
#
#server {
# listen 443 ssl;
# server_name localhost;
# ssl_certificate cert.pem;
# ssl_certificate_key cert.key;
# ssl_session_cache shared:SSL:1m;
# ssl_session_timeout 5m;
# ssl_ciphers HIGH:!aNULL:!MD5;
# ssl_prefer_server_ciphers on;
# location / {
# root html;
# index index.html index.htm;
# }
#}
include servers/*;
}
三,mysql安装
下载rpm源
wget https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm
安装
yum localinstall mysql80-community-release-el7-1.noarch.rpm
检查是否安装成功
yum repolist enabled | grep "mysql.*-community.*"
安装mysql
yum install mysql-community-server
过程中很曲折,辛酸泪
报错Error: Unable to find a match: mysql-community-server
解决办法 先执行 yum module disable mysql,然后再执行yum -y install mysql-community-server
启动mysql服务
systemctl start mysqld 或者 service mysqld start
查看mysql状态
systemctl status mysqld 或者 service mysqld status
设置开机启动
systemctl enable mysqld systemctl daemon-reload
修改登录密码
//mysql安装完成之后,在/var/log/mysqld.log文件中给root生成了一个默认密码。通过下面的方式找到root默认密码,然后登录mysql进行修改: grep 'temporary password' /var/log/mysqld.log
mysql -u root -p
ALTER USER 'root'@'localhost' IDENTIFIED BY 'Minyue@666'; //默认密码检查策略要求密码必须包含:大小写字母、数字和特殊符号,并且长度不能少于8位。否则会提示ERROR 1819 (HY000): Your password does not satisfy the current policy requirements错误
添加远程登录用户
默认只允许root账户在本地登录,如果要在管理服务器上的mysql,修改root的远程访问权限
use mysql; select host, user from user; #可以看到root默认权限是localhost
#授权 root 用户的所有权限并设置远程访问 GRANT ALL ON *.* TO 'root'@'%';
这里我是遇到了报错,ERROR 1410 (42000): You are not allowed to create a user with GRANT
update user set host='%' where user ='root';
#生效修改 flush privileges;
连接mysql
mysql -u [username] -p
mysql -h [host] -u [username] -p [password]
如果要使用sqlyog链接
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'password';
编码方式
mysql8.0默认编码方式为utf8mb4,因此使用时不需要修改
#查看编码方式 SHOW VARIABLES WHERE Variable_name LIKE 'character_set_%' OR Variable_name LIKE 'collation%';
一般修改可以直接找到对应 etc/mysql/my.cnf位置
[client] default-character-set = utf8mb4 [mysql] default-character-set = utf8mb4 [mysqld] character-set-client-handshake = FALSE character-set-server = utf8mb4 collation-server = utf8mb4_unicode_ci init_connect='SET NAMES utf8mb4'
character_set_client (客户端来源数据使用的字符集) character_set_connection (连接层字符集) character_set_database (当前选中数据库的默认字符集) character_set_results (查询结果字符集) character_set_server (默认的内部操作字符集)
注意要在安全组中添加3306
卸载mysql
yum remove mysql-community-server rpm -qa|grep mysql yum remove 名称 rpm -qa | grep -i mysql rpm -e 名称
mysql导入导出sql文件
1.导出整个数据库 mysqldump -u 用户名 -p 数据库名 > 导出的文件名 mysqldump -u root -p test > ~/blog.sql 输入密码
注意:一定要先touch blog.sql
注意:mysqldump指令可以临时
alias mysqldump=/usr/local/mysql/bin/mysqldump
2.导入数据库 常用source 命令 进入mysql数据库控制台,如 mysql -u root -p mysql>use 数据库 然后使用source命令,后面参数为脚本文件(如这里用到的.sql) mysql>source ~/blog.sql