入手后先用 'yum -y update' 來(lái)升級(jí)一下
1. 設(shè)置非root用戶(hù)
- 新增
用戶(hù)
useradd 用戶(hù)名
passwd 密碼
- 設(shè)置ssh
新增用戶(hù)之后就設(shè)置root為非ssh登錄的裂允,新用戶(hù)可以ssh登錄:修改/etc/ssh/sshd_config
PermitRootLogin:yes --> PermitRootLogin:no
這樣就可以禁止root用戶(hù)登錄了。
- 附上一些命令
useradd //添加用戶(hù)
passwd //為用戶(hù)設(shè)置密碼
userdel //刪除用戶(hù)
usermod //修改用戶(hù)信息
groupadd //添加用戶(hù)組
groupdel //刪除用戶(hù)組
groupmod //修改用戶(hù)組信息
groups //顯示當(dāng)前進(jìn)程用戶(hù)所屬的用戶(hù)組
2. 配置git
- 思路
我們假設(shè)你在服務(wù)器上設(shè)置了一個(gè)叫做a的用戶(hù)速侈,那么我們上線的代碼現(xiàn)在自己電腦上寫(xiě)好薄扁,push到git服務(wù)器上剪返,再在由a用戶(hù)pull下來(lái)上線废累。那么我們?cè)趓oot上面創(chuàng)建一個(gè)共享的倉(cāng)庫(kù),這樣自己的電腦和用戶(hù)a都可以向這個(gè)倉(cāng)庫(kù)拉取和提交代碼脱盲。那么這個(gè)git服務(wù)器服務(wù)器應(yīng)該如何搭建呢邑滨?其實(shí)就是新增一個(gè)git用戶(hù)
useradd git
passwd 密碼
//以下為升級(jí)git的,centos的yum能安裝的git最多去到1.7
//因此需要安裝2.X 的git的話钱反,先卸載掖看,再下載源碼編譯安裝
yum remove git
//在https://www.kernel.org/pub/software/scm/git上選擇你要的版本
src wget https://www.kernel.org/pub/software/scm/git/git-2.10.0.tar.gz
//安裝必要工具包
yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel
yum install gcc perl-ExtUtils-MakeMaker
//解壓
tar xzf git-2.10.0.tar.gz
cd git-2.10.0
make prefix=/usr/local/git all
make prefix=/usr/local/git install
echo "export PATH=$PATH:/usr/local/git/bin" >> /etc/bashrc
source /etc/bashrc
- 搭建
2.1. 配置
// 在/srv下創(chuàng)建git文件夾,再在git里面創(chuàng)建空倉(cāng)庫(kù)
cd /srv
mkdir git
cd git
git init --bare project.git // project為項(xiàng)目名字面哥,自定義的
//成功就會(huì)顯示:Initialized empty Git repository in /srv/git/project.git/
// 把所有權(quán)給git 用戶(hù)
cd ../
chown -R git:git git
//在自己電腦上:
git clone git@服務(wù)器IP:/srv/git/project.git
/*以上的文字很不幸的出現(xiàn)了很多git ,看清楚git其實(shí)分別對(duì)應(yīng)了文件夾名字哎壳,git命令還有用戶(hù)名三個(gè)東西就好了*/
2.2 安全
處于安全考慮,我們應(yīng)該禁用git用戶(hù)的shell登陸幢竹。
vim /etc/passwd
//找到這一行
git:x:1001:1001:,,,:/home/git:/bin/bash
//改成
git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell
這樣耳峦,git用戶(hù)可以正常通過(guò)ssh使用git恩静,但無(wú)法登錄shell焕毫,因?yàn)槲覀優(yōu)間it用戶(hù)指定的git-shell每次一登錄就自動(dòng)退出。
3. 安裝node
- node安裝
//該方法是源碼編譯安裝驶乾,比較慢
//確保gcc安裝
yum -y install gcc
//下載node 這里可以去官網(wǎng)看看你要的版本號(hào)
wget https://nodejs.org/dist/v5.6.0/node-v5.6.0.tar.gz
//解壓
tar -zvxf node-v5.6.0.tar.gz
// 開(kāi)啟配置邑飒,編譯
cd node-v5.6.0
./configure
make && make install
//要能業(yè)務(wù)化的話 pm2 && express 都不可少
npm i -g n //升級(jí)node用的
npm i -g express
npm i -g pm2
- pm2的配置
//pm2開(kāi)機(jī)啟動(dòng)
pm2 startup centos
//創(chuàng)建一個(gè)processes.json文件
{
"apps": [
{
"name": "xxx",
"script": "./bin/www",
"log_date_format": "YYYY-MM-DD HH:mm Z",
"log_file" : "./logs/xxx.log",
"error_file" : "./logs/xxx.log",
"out_file" : "./logs/xxx.log",
"merge_logs": true,
}
]
}
//保存退出后啟動(dòng)
pm2 start processes.json
4. 安裝配置nginx
- 安裝
yum install nginx
cd /etc/nginx
//這里開(kāi)始修改配置
vim nginx.conf
//-> 這里不細(xì)說(shuō)明配置:只需要找到conf里面有沒(méi)有這一段:include /etc/nginx/conf.d/*.conf;
// 退出之后進(jìn)入/etc/nginx/conf.d目錄,新建一個(gè)配置文件
vim xxx.com.conf //xxx.com是你的域名名字
- 配置文件
//xxx.com.conf
upstream node {
server 127.0.0.1:3000;
}
server {
listen 80 default_server;
server_name xx.com www.xx.com;
include /etc/nginx/default.d/*.conf;
location / {
proxy_pass http://node;
}
access_log xx/access.log main;
}
- nginx的一些命令
//測(cè)試配置文件是否出錯(cuò)
nginx -t -c /etc/nginx/nginx.conf
//啟動(dòng)
service nginx start
//重啟
service nginx restart
- 新增SSL配置文件實(shí)例
upstream node {
server 127.0.0.1:3000;
}
server {
listen 443 ssl;
server_name ***; #你的域名
ssl on;
ssl_certificate ***.pem; #pem文件路徑
ssl_certificate_key ***.key; #key文件路徑
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers AESGCM:ALL:!DH:!EXPORT:!RC4:+HIGH:!MEDIUM:!LOW:!aNULL:!eNULL;
ssl_prefer_server_ciphers on;
# 禁止爬蟲(chóng)级乐!如果你要做SEO的話疙咸!這個(gè)最好就不要咯
if ($http_user_agent ~* "qihoobot|Baiduspider|Googlebot|Googlebot-Mobile|Googlebot-Image|Mediapartners-Google|Adsbot-Google|Feedfetcher-Google|Yahoo! Slurp|Yahoo! Slurp China|YoudaoBot|Sosospider|Sogou spider|Sogou web spider|MSNBot|ia_archiver|Tomato Bot"){return 403;}
location / {
deny 123.126.113.134;
deny 111.251.93.84;
proxy_pass http://node;
}
access_log *.log main;
}
5. 安裝配置redis
- 安裝
yum install gcc-c++
yum install -y tcl
yum install wget
//在官網(wǎng)http://redis.io/拿到下載鏈接
wget 鏈接
//解壓 進(jìn)入目錄 編譯 安裝
tar -xzvf redis
mv redis /usr/local/redis
cd /usr/local/redis
make
make install
2.配置
mkdir /etc/redis
mkdir /var/redis
mkdir /var/redis/log
mkdir /var/redis/run
mkdir /var/redis/6379
//在redis解壓根目錄中找到配置文件模板,復(fù)制到如下位置风科。
cp /usr/local/redis/redis.conf /etc/redis/6379.conf
//通過(guò)vim命令修改
daemonize yes
requirepass 密碼
pidfile /var/redis/run/redis_6379.pid
logfile /var/redis/log/redis.log
dir /var/redis/6379
//最后運(yùn)行redis:
redis-server /etc/redis/6379.conf
//測(cè)試鏈接
redis-cli -h 127.0.0.1 -p 6379 -a ''
//開(kāi)關(guān)
service redis_6379 stop
service redis_6379 start
- 開(kāi)機(jī)啟動(dòng)
確定已經(jīng)執(zhí)行了第二步的配置撒轮,保證daemonize yes
echo "/usr/local/redis/src/redis-server /etc/redis/6379.conf &" >> /etc/rc.local
6. 安裝配置數(shù)據(jù)庫(kù)MySQL
- 簡(jiǎn)單的安裝
1.1 服務(wù)器端
阿里云上的centos7.0系統(tǒng)。因?yàn)樵赾entos直接搜索mysql是木有這個(gè)軟件的(原因自己百度)贼穆,只有mariadb题山,你可以把它當(dāng)成名字不用而已就好了。
安裝很簡(jiǎn)單:
//安裝
yum install mariadb mariadb-server
//啟動(dòng)
systemctl start mariadb
//開(kāi)機(jī)啟動(dòng)
systemctl enable mariadb
//root密碼等相關(guān)
mysql_secure_installation
//登錄
mysql -u root -p
//創(chuàng)建新用戶(hù)
create user 'username'@'localhost' identified by 'password'
1.2 開(kāi)發(fā)機(jī)器上
手上的是MacBook故痊,簡(jiǎn)單的去官網(wǎng)下載Mysql來(lái)點(diǎn)開(kāi)安裝就可以了顶瞳。接下來(lái)推薦一個(gè)圖形界面的工具:mysqlWorkBench。也是直接下載后點(diǎn)開(kāi)安裝愕秫。
注意:新版的Mysql安裝后之后彈窗給你一個(gè)初始化密碼的
- 遠(yuǎn)程登陸
由于我們剛才新建的用戶(hù)的host定義了localhost慨菱,所以在開(kāi)發(fā)機(jī)器上是沒(méi)辦法登陸的。因此需要用調(diào)整一下
//用root登陸
mysql -u root -p
//進(jìn)入mysql數(shù)據(jù)庫(kù)
use mysql;
// 修改host為通配符%
update user set host='%' where user='username';
// 查看一下
select host, user from user;
flush privileges;
- 分配權(quán)限
這時(shí)候我們能在開(kāi)發(fā)機(jī)器上登陸新建的用戶(hù)了戴甩,當(dāng)時(shí)確發(fā)現(xiàn)沒(méi)啥權(quán)限符喝,做啥都做不了,所以應(yīng)該分配一些權(quán)限給他甜孤。
//用root登陸
mysql -u root -p
//創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)(create database sanyuelanv)
create database databaseName
//授予用戶(hù)操作這個(gè)數(shù)據(jù)庫(kù)的所有權(quán)限
grant all on databaseName.* to username@'%';
flush privileges;
后記1:zsh
因?yàn)閭€(gè)人喜好用ZSH洲劣,所以把bash替換成zsh备蚓,再加上oh-my-zsh。這樣才覺(jué)得舒服囱稽。
echo $SHELL //查看當(dāng)前的shell郊尝,一般的結(jié)果都是/bin/bash
cat /ect/shells //查看bin下面是否有zsh
yum install zsh //安裝zsh
cat /ect/shells //再次查看
chsh -s /bin/zsh //切換zsh
reboot //重啟
//重啟完成之后
yum install git //安裝git
//安裝oh-my-zsh,裝好之后切換用戶(hù)或者重啟一下
wget https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh -O - | sh
//如果出現(xiàn):warning: cannot set LC_CTYPE locale的錯(cuò)誤
vim /etc/profile
//后面加上這兩行
export LC_ALL=en_US.UTF-8
export LC_CTYPE=en_US.UTF-8
//保存退出后生效
source /etc/profile