LNMP VPS自动备份网站发送邮件
lnmp官方自带的有backup.sh脚本,但是该脚本只能上传ftp,不能发送邮件,稍微修改了下,然后可以自己发送到指定邮箱,省事了,定时任务需要cron配合。
安装mutt
yum install -y mutt
创建.muttrc
set envelope_from=yes
set from="backup@hmilyld.com"
set realname="hmilyld"
set use_from=yes
lnmp官方自带的有backup.sh脚本,但是该脚本只能上传ftp,不能发送邮件,稍微修改了下,然后可以自己发送到指定邮箱,省事了,定时任务需要cron配合。
yum install -y mutt
set envelope_from=yes
set from="backup@hmilyld.com"
set realname="hmilyld"
set use_from=yes
yum update
adduser hmilyld
passwd hmilyld
yum install zsh
sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh | bash
export ZSH="/home/用户名/.oh-my-zsh"
ZSH_THEME="gentoo"
plugins=(git z zsh-autosuggestions)
source $ZSH/oh-my-zsh.sh
alias ll='ls -la'
alias python='python3'
export NVM_NODEJS_ORG_MIRROR=http://npm.taobao.org/mirrors/node
export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
source ~/.zshrc
nvm install stable
version: '3'
services:
mysql:
container_name: jjit_mysql
restart: always
image: mysql:5.7
ports:
- 3306:3306
volumes:
- ./mysql/data:/var/lib/mysql
- ./mysql/my.cnf:/etc/my.cnf
environment:
MYSQL_ROOT_PASSWORD: password
nginx:
container_name: jjit_nginx
restart: always
image: nginx:latest
ports:
- 80:80
- 443:443
volumes:
- ./nginx/www:/usr/share/nginx/html
- ./nginx/conf.d:/etc/nginx/conf.d
- ./nginx/cert:/etc/nginx/cert
- ./nginx/nginx.conf:/etc/nginx/nginx.conf
- ./nginx/log/error.log:/var/log/nginx/error.log
links:
- tomcat:t1
tomcat:
container_name: jjit_tomcat
restart: always
image: tomcat:latest
ports:
- 8080:8080
- 8009:8009
- 8443:8443
volumes:
- ./tomcat/webapps:/usr/local/tomcat/webapps
- ./tomcat/conf:/usr/local/tomcat/conf
- ./tomcat/logs:/usr/local/tomcat/logs
links:
- mysql:m1
多域名直接修改 server.xml 文件就行了,类似如下配置:
<Engine name="Catalina" defaultHost="www.default.com">
<Realm className="org.apache.catalina.realm.LockOutRealm">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase" />
</Realm>
<Host name="www.default.com" appBase="/路径" unpackWARs="true" autoDeploy="true">
<Alias>default.com</Alias>
<Context path="" docBase="/路径" debug="0" reloadable="true" />
</Host>
<Host name="www.abc.com" appBase="/路径" unpackWARs="true" autoDeploy="true">
<Alias>abc.com</Alias>
<Context path="" docBase="/路径" debug="0" reloadable="true" />
</Host>
<Host name="www.123.com" appBase="/路径" unpackWARs="true" autoDeploy="true">
<Alias>123.com</Alias>
<Context path="" docBase="/路径" debug="0" reloadable="true" />
</Host>
</Engine>
生产环境的话,证书还是用正规机构颁发的证书,要不然像微信这种后台校验 https 访问会通过不了,阿里云有免费的证书,一年期,后面再续就行了。申请方式及地址:https://yq.aliyun.com/articles/637307
证书申请后,从控制台下载证书,然后放到服务器上,而后修改 server.xml,增加如下配置:
<Connector port="443" protocol="org.apache.coyote.http11.Http11NioProtocol" maxThreads="150" SSLEnabled="true" keystoreFile="证书路径" keystorePass="证书密码" keystoreType="PKCS12"/>
<Connector port="8009" protocol="AJP/1.3" redirectPort="443" />
搞定,另外如果服务器在阿里云,记得安全组打开 443 端口,默认 443 是不允许访问的。