阿里云服务器安装
准备
创建如下文件夹
mkdir /data0 /data1 /home/soft
磁盘挂载
fdisk -l
vi /etc/fstab
/dev/xvdb1 /data0 ext4 defaults 0 0
/dev/xvdc1 /data1 ext4 defaults 0 0
服务器配置
一、修改主机名
vi /etc/hosts
111.111.111.111 server-a
根据不同服务器设置不同的主机名
hostnamectl set-hostname server-a
相关命令参考:
第一种:hostname 主机名
这种方式,只能修改临时的主机名,当重启机器后,主机名称又变回来了。
第二种:hostnamectl set-hostname
hostnamectl set-hostname <主机名>
使用这种方式修改,可以永久性的修改主机名称!
二、yum更新
yum -y update
注意:
yum -y update
升级所有包同时也升级软件和系统内核
yum -y upgrade
只升级所有包,不升级软件和系统内核
三、修改ssh端口成21622(可自定义),禁止密码登陆,使用key登陆
1. 修改端口
vi /etc/ssh/sshd_config
修改去掉port前面注释,修改port值为21622
2. 使用密钥登陆
mkdir ~/.ssh
chmod 755 ~/.ssh
vi ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
vi /etc/ssh/sshd_config
RSAAuthentication yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
3. 禁止密码登陆
vi /etc/ssh/sshd_config
PasswordAuthentication no
4. 重启ssh
service sshd restart
四、开发包安装
for packages in patch make cmake gcc gcc-c++ gcc-g77 flex bison file libtool libtool-libs autoconf kernel-devel libjpeg libjpeg-devel libpng libpng-devel libpng10 libpng10-devel gd gd-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glib2 glib2-devel bzip2 bzip2-devel libevent libevent-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel vim-minimal nano fonts-chinese gettext gettext-devel ncurses-devel gmp-devel pspell-devel unzip libcap sysstat screen git wget perl cpan;
do yum -y install $packages; done
五、安装iptables
yum install iptables-services -y
1. 首先要停止 firewalld 服务
systemctl stop firewalld.service
2. 禁止 firewalld 服务在系统启动的时候自动启动
systemctl disable firewalld.server
3. 安装iptables 包
yum install iptables-services
4. 设置iptables 防火墙服务开机自动启动
systemctl enable iptables
# 查看状态
service iptables status
# 查看规则
iptables -L -n
# 清除默认规则
iptables -F
iptables -X
iptables -Z
#####建立新的规则######
# 允许本地回环 127.0.0.1
iptables -A INPUT -i lo -p all -j ACCEPT
# 允许已经建立的所有连接
iptables -A INPUT -p all -m state --state ESTABLISHED,RELATED -j ACCEPT
# 允许内网的所有连接
iptables -A INPUT -s 10.0.0.0/8 -j ACCEPT
# 允许所有向外发起的连接
iptables -A OUTPUT -j ACCEPT
# 拒绝 ping 可选
iptables -A INPUT -p icmp -m icmp --icmp-type 8 -j REJECT
# 允许 SSH 服务端口(一定要打开,不然就不能ssh了)
iptables -A INPUT -p tcp --dport 21622 -j ACCEPT
# 允许 Web 服务端口
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
# 允许 https 服务端口
iptables -A INPUT -p tcp --dport 443 -j ACCEPT
# 允许返回数据给所有ip所有端口 允许所有本机向外的访问
iptables -A OUTPUT -j ACCEPT
# 除上面允许的规则,抛弃所有INPUT请求 (注意:如果22端口未加入允许规则,SSH链接会直接断开。)
iptables -P INPUT DROP
# 除上面允许的规则,抛弃所有FORWARD请求
iptables -P FORWARD DROP
# 除上面允许的规则,抛弃所有OUTPUT请求
iptables -P OUTPUT DROP
# 保存(ArchLinux系统下的路径可能和其他系统下的路径不同)
sudo service iptables save
# 重新启动
sudo service iptables restart
# 列出规则,供查看
iptables -L -n
六、https配置
证书目录
/etc/ssl
nginx的conf添加
listen 443 ssl;
ssl_certificate /etc/ssl/test.com.bundle.crt;
ssl_certificate_key /etc/ssl/test.com.bundle.key;
#设置长连接
keepalive_timeout 70;
六、使用nvm安装nodejs v6.9.1
nodejs安装
[root@server-a~]# cd /home/soft/
[root@server-a soft]# curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.31.2/install.sh | bash
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 7766 100 7766 0 0 3126 0 0:00:02 0:00:02 --:--:-- 3127
=> Downloading nvm as script to '/root/.nvm'
=> Appending source string to /root/.bashrc
=> Close and reopen your terminal to start using nvm
[root@server-a soft]# source ~/.bashrc
[root@server-a soft]# NVM_NODEJS_ORG_MIRROR=https://npm.taobao.org/mirrors/node nvm install v6.9.1
Downloading https://npm.taobao.org/mirrors/node/v6.9.1/node-v6.9.1-linux-x64.tar.xz...
######################################################################## 100.0%
Now using node v6.9.1 (npm v3.10.8)
Creating default alias: default -> v6.9.1
[root@server-a soft]# node -v
v6.9.1
[root@server-a soft]# npm -v
3.10.8
安装cnpm
使用淘宝镜像
npm install -g cnpm --registry=https://registry.npm.taobao.org
七、安装openresty v1.9.15.1
上传openresty安装脚本至/home/soft/openresty,授予可执行权限
cd /home/soft/openresty
chmod +x install_openresty.sh
chmod +x -R include
./install_openresty.sh
编译完成后执行以下命令
[root@server-a openresty]# nginx -V
nginx version: openresty/1.9.15.1
built by gcc 4.8.5 20150623 (Red Hat 4.8.5-4) (GCC)
built with OpenSSL 1.0.1e-fips 11 Feb 2013
TLS SNI support enabled
configure arguments: --prefix=/usr/local/nginx --with-cc-opt=-O2 --add-module=../ngx_devel_kit-0.3.0 --add-module=../echo-nginx-module-0.59 --add-module=../xss-nginx-module-0.05 --add-module=../ngx_coolkit-0.2rc3 --add-module=../set-misc-nginx-module-0.30 --add-module=../form-input-nginx-module-0.12 --add-module=../encrypted-session-nginx-module-0.05 --add-module=../srcache-nginx-module-0.31 --add-module=../ngx_lua-0.10.5 --add-module=../ngx_lua_upstream-0.05 --add-module=../headers-more-nginx-module-0.30 --add-module=../array-var-nginx-module-0.05 --add-module=../memc-nginx-module-0.17 --add-module=../redis2-nginx-module-0.13 --add-module=../redis-nginx-module-0.3.7 --add-module=../rds-json-nginx-module-0.14 --add-module=../rds-csv-nginx-module-0.07 --with-ld-opt=-Wl,-rpath,/usr/local/luajit/lib --user=www --group=www --with-http_stub_status_module --with-http_ssl_module --with-http_gzip_static_module --with-ipv6 --with-http_sub_module --with-http_realip_module --with-pcre --add-module=/home/soft/openresty/openresty-1.9.15.1/bundle/ngx_cache_purge-2.3 --add-module=/home/soft/openresty/openresty-1.9.15.1/bundle/nginx_upstream_check_module-0.3.0
修改nginx.conf
先备份nginx.conf
cp /usr/local/nginx/conf/nginx.conf /usr/local/nginx/conf/nginx.conf.bak
更改nginx.conf
mkdir -p /data0/wwwroot/ngx_cache/cache
log目录改为/data0/wwwlogs
添加设置Web缓存区及log_format,参考server-a
运行nginx
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
八、安装小米falcon监控(基于openresty)