如何配置一台新的云服务器

安装yum

1
2
3
4
5
6
7
wget http://yum.baseurl.org/download/3.2/yum-3.2.28.tar.gz
tar xvf yum-3.2.28.tar.gz
cd yum-3.2.28
./yummain.py install yum
yum check-update
yum update
yum clean all

安装node

1
2
3
4
5
6
7
8
9
10
cd  /usr/local/node/
wget node-v11.12.0-linux-x64.tar.gz
tar -zxvf node-v11.12.0-linux-x64.tar.gz
cd node-v11.12.0-linux-x64

# 创建软连接

ln -s /usr/local/node/node-v11.12.0-linux-x64/bin/npm /usr/local/bin/npm
ln -s /usr/local/node/node-v11.12.0-linux-x64/bin/node /usr/local/bin/node
ln -s /usr/local/node/node-v11.12.0-linux-x64/bin/npx /usr/local/bin/npx

mysql 5.7

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# 安装
wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
yum -y install mysql57-community-release-el7-10.noarch.rpm
yum -y install mysql-community-server
# 启动
systemctl start mysqld.service
# 状态
systemctl status mysqld.service
# 找密码 G9hLnliLXd?p
grep "password" /var/log/mysqld.log
# 进入root
mysql -uroot -p
# 修改密码 降低复杂难度
mysql> set global validate_password_policy=0;
mysql> set global validate_password_length=1;
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'password';
# del Yum Repository
yum -y remove mysql57-community-release-el7-10.noarch

设置mysql远程访问

1
2
3
4
5
mysql -u root -p;
mysql>use mysql;
mysql>update user set host = '%' where user = 'root';
mysql>select host, user from user;
flush privileges;

允许服务器的远程连接

1
2
3
4
5
6
7
8
9
10
11
12
13
14
vim /etc/ssh/sshd_config

#将 #PermitRootLogin yes 这一行的注释去掉#,这样就可以允许远程连接了

# 重启ssh服务:

systemctl restart sshd
systemctl status sshd (能查看到服务正常了)
# 此时应该就可以远程连接服务器了,如果还不能连接,有如下提示:

#ECDSA host key “ip地址” for has changed and you have requested strict checking
#解决方法:https://blog.csdn.net/weixin_40712763/article/details/82292185

ssh-keygen -R “你的远程服务器ip地址”

前端相关

安装nimg 服务

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
1. 下载NImg
wget https://github.com/ofpay/nimg/archive/master.zip -O nimg.zip

2. 解压刚才下载的文件nimg.zip
 unzip nimg.zip

3.安装依赖模块组
  cd nimg-master
  npm install

4.修改配置,确保图片存储以及上传目录有足够的权限
vi config.js

exports.tmproot='/node/temp'; //上传临时目录,
exports.imgroot='/node/img'; //图片存储目录,
exports.errorlog='/node/log/error.log'; //程序错误日志,记录
exports.port=9000; //http端口号
exports.appname='NImg';
exports.maxFileSize=1024*1024;//上传最大限制单位字节 1024kb 1mb
exports.maxSide=800; //最大截图边长
exports.minSide=30; //最小截图边长

//支持图像文件类型
exports.imgtypes={
"gif": "image/gif",
"jpeg": "image/jpeg",
"jpg": "image/jpeg",
"png": "image/png"
};
 

5.启动
sh nimg.sh start

6.查看控制台输出
taillf nohup.out

7.关闭
sh nimg.sh stop

# nimg 压缩convent图片 缺少ImageMagick 巨坑
yum install -y libjpeg* libpng* libtiff* libungif* freetype zlib
wget https://www.imagemagick.org/download/ImageMagick.tar.gz
tar zxvf ImageMagick.tar.gz
cd ImageMagick.tar.gz
./configure
make
make install
ldconfig /usr/local/lib
检测是否成功 convert -version

一定一定要先测试上传 有坑

Error: Buffer.write(string, encoding, offset[, length]) is no longer supported #6
package.json 里边 改下express版本, “express”: “3.21.2”

pm2 进程管理

1
2
3
4
5
6
7
8
npm install -g pm2
ln -s /usr/local/node/node-v11.12.0-linux-x64/bin/pm2 /usr/local/bin/

pm2 list
pm2 start
pm2 stop all
pm2 restart app.js
pm2 delete 0

nginx

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# 相关依赖
yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel pcre-devel
# install
mkdir /usr/local/nginx
wget http://nginx.org/download/nginx-1.18.0.tar.gz
tar zxvf nginx-1.18.0.tar.gz
cd nginx-1.18.0
./configure
make && make install
# nginx 无效或log不存在
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

# HTTPS 安装注意
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
# 编译
make
# 关闭
/usr/local/nginx/sbin/nginx -s stop
# 覆盖
cp ./objs/nginx /usr/local/nginx/sbin/

其他相关

1
2
3
4
# 删除端口
netstat -ntlp
lsof -i tcp:port
kill -9 pid

gitlab

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
$ docker pull gitlab/gitlab-ce
$ docker run -d -p 443:443 -p 6001:80 -p 222:22 --name gitlab --restart always -v /home/gitlab/config:/etc/gitlab -v /home/gitlab/logs:/var/log/gitlab -v /home/gitlab/data:/var/opt/gitlab gitlab/gitlab-ce

# -d:后台运行
# -p:将容器内部端口向外映射
# --name:命名容器名称
# -v:将容器内数据文件夹或者日志、配置等文件夹挂载到宿主机指定目录

external_url 'http://192.168.199.231'

# 配置ssh协议所使用的访问地址和端口
gitlab_rails['gitlab_ssh_host'] = '192.168.199.231'
gitlab_rails['gitlab_shell_ssh_port'] = 222 # 此端口是run时22端口映射的222端口
:wq #保存配置文件并退出

$ docker restart gitlab