一、準(zhǔn)備
1.wget
用于從指定的URL地址下載文件;
wget很穩(wěn)定同時(shí)支持?jǐn)帱c(diǎn)下載,在窄帶寬和不穩(wěn)定網(wǎng)絡(luò)中有很強(qiáng)的適應(yīng)性。
2.yum
一個(gè)在Fedora和RedHat以及CentOS中的Shell前端軟件包管理器;
基于RPM包管理,能夠從指定的服務(wù)器自動(dòng)下載RPM包并且安裝,
可以自動(dòng)處理依賴性關(guān)系,并且一次安裝所有依賴的軟件包,無(wú)須繁瑣地一次次下載、安裝。
3.Node.js
Node.js 是一個(gè)基于 Chrome V8 引擎的 JavaScript 運(yùn)行環(huán)境。
Node.js 使用了一個(gè)事件驅(qū)動(dòng)、非阻塞式 I/O 的模型,使其輕量又高效。
4.NPM
Node.js自帶的包管理工具,是全球最大的開(kāi)源庫(kù)生態(tài)系統(tǒng)。
5.MariaDB
MariaDB數(shù)據(jù)庫(kù)管理系統(tǒng)是MySQL的一個(gè)分支,主要由開(kāi)源社區(qū)在維護(hù);
MariaDB完全兼容MySQL,包括API和命令行;
其存在的目的是因?yàn)镸ySQL被Oracle收購(gòu),存在不開(kāi)源的風(fēng)險(xiǎn),MariaDB是一個(gè)很好的代替品。
6.Nginx
Nginx 是一個(gè)高性能的 Web 和反向代理服務(wù)器。
7.PM2
PM2是一個(gè)帶有負(fù)載均衡功能的Node應(yīng)用的進(jìn)程管理器。
輕松實(shí)現(xiàn)性能監(jiān)控、自動(dòng)重啟、負(fù)載均衡等功能
8.登錄服務(wù)器,第一次使用前更新下已安裝的RPM軟件包
yum update -y
二、Node.js 配置
1.該文件件通常存放軟件源代碼
cd /usr/local/src/
2.下載
wget https://nodejs.org/dist/v8.12.0/node-v8.12.0-linux-x64.tar.xz
3.解壓
tar -vxJf node-v8.12.0-linux-x64.tar.xz
4.將解壓的`Node.js`目錄移動(dòng)到 /usr/local 目錄下
mv node-v8.12.0-linux-x64 /usr/local/node
5.配置`Node`軟鏈接到 /bin 目錄
ln -s /usr/local/node/bin/node /bin/node
6.Node 中包含 npm,我們只需將其軟鏈接到 bin 目錄下
ln -s /usr/local/node/bin/npm /bin/npm
7.配置環(huán)境變量,將 /usr/local/node/bin 目錄添加到 $PATH 環(huán)境變量中可以方便地使用通過(guò) npm 全局安裝的第三方工具
echo 'export PATH=/usr/local/node/bin:$PATH' >> /etc/profile
8.生效環(huán)境變量
source /etc/profile
9.檢查時(shí)候安裝成功
node -v
三、MariaDB 配置
1.安裝
yum install mariadb-server mariadb
2.啟動(dòng)MariaDB
systemctl start mariadb 或 service mariadb start
3.設(shè)置開(kāi)機(jī)啟動(dòng)
systemctl enable mariadb 或 chkconfig mariadb on
4.相關(guān)簡(jiǎn)單配置
mysql_secure_installation
//首次會(huì)提示如下,直接回車
Enter current password for root (enter for none):
//設(shè)置密碼
Set root password? [Y/n] <– 是否設(shè)置root用戶密碼,輸入y并回車或直接回車
New password: <– 設(shè)置root用戶的密碼
Re-enter new password: <– 再輸入一次你設(shè)置的密碼
//其他設(shè)置
Remove anonymous users? [Y/n] <– 是否刪除匿名用戶,回車
Disallow root login remotely? [Y/n] <–是否禁止root遠(yuǎn)程登錄,回車,
Remove test database and access to it? [Y/n] <– 是否刪除test數(shù)據(jù)庫(kù),回車
Reload privilege tables now? [Y/n] <– 是否重新加載權(quán)限表,回車
//初始化MariaDB,登錄
mysql -uroot -p //回車之后輸入密碼
//配置MariaDB的字符集
//客戶端設(shè)置
vim /etc/my.cnf.d/mysql-clients.cnf
[mysql]
default-character-set=utf8
//服務(wù)端設(shè)置
vim /etc/my.cnf.d/server.cnf
[mysqld]
init_connect='SET collation_connection = utf8_general_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_general_ci
skip-character-set-client-handshake
#開(kāi)啟慢查詢
slow_query_log = ON
slow_query_log_file = /usr/local/mysql/data/slow.log
long_query_time = 1
//配置完成,退出MariaDB后重啟MariaDB
systemctl restart mariadb
//進(jìn)入MariaDB查看字符集
mysql>show variables like "%character%";show variables like "%collation%";
//顯示如下
MariaDB [(none)]> show variables like "%character%";show variables like "%collation%";
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)
+----------------------+-----------------+
| Variable_name | Value |
+----------------------+-----------------+
| collation_connection | utf8_general_ci |
| collation_database | utf8_general_ci |
| collation_server | utf8_general_ci |
+----------------------+-----------------+
3 rows in set (0.00 sec)
----字符集配置完成
5.添加用戶,設(shè)置權(quán)限
//創(chuàng)建用戶命令
mysql>create user username@localhost identified by 'password';
//直接創(chuàng)建用戶并授權(quán)的命令
mysql>grant all on *.* to username@localhost indentified by 'password';
//授予外網(wǎng)登陸權(quán)限,但不能二級(jí)授權(quán)
mysql>grant all privileges on *.* to username@'%' identified by 'password';
//授予權(quán)限并且可以二次授權(quán)
mysql>grant all privileges on *.* to username@'hostname' identified by 'password' with grant option;
"%"表示任何主機(jī)都可以遠(yuǎn)程登錄到該服務(wù)器上訪問(wèn)
其中只授予部分權(quán)限把 其中 all privileges或者all改為:
`select,insert,update,delete,create,drop,index,alter,grant,references,reload,shutdown,process,file `
其中一部分。
四、Nginx 配置
1.安裝
yum install nginx
2.檢查是否安裝成功
nginx -t //有如下提示代表安裝成功
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
3.Nginx操作
systemctl start nginx.service // 啟動(dòng)nginx
systemctl stop nginx.service // 停止nginx
systemctl restart nginx.service // 重啟nginx
systemctl enable nginx.service // 設(shè)置開(kāi)機(jī)啟動(dòng)
Nginx啟動(dòng)后在瀏覽器中輸入http:// 阿里云外網(wǎng)地址,你就可以看到一個(gè)nginx頁(yè)面
4.Nginx配置
//Nginx配置文件為 /etc/nginx/nginx.conf
server {
listen 80;
location / {
proxy_pass http://127.0.0.1:3000; # 本地node啟動(dòng)的端口為3000
}
}
注:每句結(jié)束都要寫(xiě)分號(hào),不然重啟會(huì)報(bào)如下錯(cuò)誤
Job for nginx.service failed because the control process exited with error code. See "systemctl status nginx.service" and "journalctl -xe" for details.
//重啟
systemctl restart nginx.service
二級(jí)域名實(shí)現(xiàn)代理:
首先在域名解析時(shí),設(shè)置域名解析到同一個(gè)服務(wù)器。
其次設(shè)置多個(gè)代理時(shí),可以在一個(gè)文件中設(shè)置多個(gè)server實(shí)現(xiàn)或者創(chuàng)建多個(gè)配置文件,如在/etc/nginx/nginx.conf中,有個(gè)關(guān)鍵字include。該字段指定配置文件位置
include /etc/nginx/conf.d/*.conf;
# 代表conf.d文件下所有.conf結(jié)尾的文件都為配置文件。下面就在一個(gè)文件中配置
server {
listen 80;
server_name xxx.abc.com;
location / {
proxy_pass http://127.0.0.1:3000; # 本地node啟動(dòng)的端口為3000
}
}
server {
listen 80;
server_name www.abc.com;
location / {
proxy_pass http://127.0.0.1:3001; # 本地node啟動(dòng)的端口為3000
}
}
// 如果有二級(jí)域名和一級(jí)域名同時(shí)設(shè)置時(shí),二級(jí)域名一定要放在前面。
五、PM2配置
1.全局安裝
npm install -g pm2
2.創(chuàng)建軟鏈接,使全局可以使用pm2命令
ln -s /usr/local/node/bin/pm2 /bin/pm2
3.常用命令
//啟動(dòng)項(xiàng)目
pm2 start app.js
//查看進(jìn)程狀態(tài)
pm2 status
//關(guān)閉項(xiàng)目
pm2 stop id //id是進(jìn)程id
//啟動(dòng)相應(yīng)進(jìn)程的項(xiàng)目
pm2 start id
//設(shè)置pm2開(kāi)機(jī)啟動(dòng)
pm2 startup
pm2 save
//--watch參數(shù),代碼發(fā)生變化,pm2會(huì)幫你重啟服務(wù)
pm2 start app.js --watch
六、常用軟件
1.git
yum install git
2.上傳下載
yum install lrzsz
3.壓縮解壓
yum install zip unzip
[參考文章]
https://blog.csdn.net/zhezhebie/article/details/73549741
http://www.itdecent.cn/p/7aad651bdbb4
感謝以上網(wǎng)友的技術(shù)文章分享