首先安装screen,apt -y install screen
防止安装过程连接中断。
然后创建一个窗口,如screen -S lnmp
再来选择一个lnmp安装脚本,比如这里选择的是1.9版本:
#下载版:推荐海外VPS或空间较小用户使用
wget http://soft.vpser.net/lnmp/lnmp1.9.tar.gz -cO lnmp1.9.tar.gz && tar zxf lnmp1.9.tar.gz && cd lnmp1.9 && ./install.sh lnmp
#完整版:推荐国内VPS用户使用
wget http://soft.vpser.net/lnmp/lnmp1.9-full.tar.gz -cO lnmp1.9-full.tar.gz && tar zxf lnmp1.9-full.tar.gz && cd lnmp1.9-full && ./install.sh lnmp
#后续步骤参见https://lnmp.org/install.html
lnmp
命令了Openresty+Redis的缓存组合能绕过php,再通过Nginx SRcache拓展直达Redis。
#访问官网,页面下拉,选择对应的安装包
https://openresty.org/cn/download.html
#这里选择当前最新的1.21.4.1版本来演示(需要其它版本的请移步官网,替换对应的版本号)
wget https://openresty.org/download/openresty-1.21.4.1.tar.gz
#解压
tar -zxvf openresty-1.21.4.1.tar.gz
#进入目录
cd openresty-1.21.4.1
#开始手动编译,并添加两个模块
./configure --with-http_stub_status_module --with-http_v2_module
#安装
make && make install
#构建
./configure --with-http_stub_status_module --with-http_v2_module --with-http_realip_module
#编译安装
make && make install
上面的 ./configure
构建过程若有错误,那肯定是没有按步骤来先安装lnmp。此时可以直接使用 apt -y install make gcc libpcre3 libpcre3-dev openssl libssl-dev zlib1g-dev
安装一下,然后再重新执行相关构建命令。
检查必须的模块是否安装正确,后续主要用到的4个模块:srcache-nginx-module
、redis2-nginx-module
、redis-nginx-module
、set-misc-nginx-module
,以及lnmp脚本命令需要用到的2个模块:http_stub_status_module
和http_v2_module
。查看指定模块命令:
#能输出以上6个模块即可。
/usr/local/openresty/nginx/sbin/nginx -V 2>&1 | grep 'srcache-nginx-module\|redis2-nginx-module\|redis-nginx-module\|set-misc-nginx-module\|http_stub_status_module\|http_v2_module' -o
nano /etc/init.d/nginx
NGINX_BIN='/usr/local/openresty/nginx/sbin/nginx'
CONFIG='/usr/local/openresty/nginx/conf/nginx.conf'
完成了之后,接下来还需要修改其它相关的文件。反正最终的效果就是要替换完nginx,还能照常使用lnmp的全部指令~
#用编辑器打开lnmp文件,路径为下面一行,如果是finalshell直接到该路径双击打开编辑就行
/bin/lnmp
#再利用编辑器搜索下面一行的内容,一般可以使用快捷键ctrl+f
/usr/local/nginx
#然后全部替换为
/usr/local/openresty/nginx
#ps:lnmp1.8版本替换下来正好有106处还是108忘记了。
#将Nginx原配置文件夹复制到Openresty的Nginx下
cp -r /usr/local/nginx/conf/* /usr/local/openresty/nginx/conf
#修改openresty下的nginx.conf配置文件
nano /usr/local/openresty/nginx/conf/nginx.conf
#往pid的路径中添加一个“openresty”子路径,改完最后的结果就是这样的:
pid /usr/local/openresty/nginx/logs/nginx.pid;
* 如果是全新安装的lnmp,且没有使用该lnmp环境申请过ssl证书,那么无视即可。
* 判断的方式很简单,你只要看 /usr/local/acme.sh/account.conf
文件是否存在,没有直接无视就行了。
* 如果存在,则必须修改!
#编辑初始配置文件
nano /usr/local/acme.sh/account.conf
#将“/usr/local/openresty/nginx/conf/ssl”修改为openresty的ssl存放路径,改完就是:
CERT_HOME='/usr/local/openresty/nginx/conf/ssl'
#先停止lnmp的nginx
lnmp stop nginx
#编译ngnix服务
nano /etc/systemd/system/nginx.service
#再将里面的“/usr/local/nginx”全部替换为openresty的nginx路径,如:/usr/local/openresty/nginx
#改完之后是这样的:
PIDFile=/usr/local/openresty/nginx/logs/nginx.pid
ExecStart=/usr/local/openresty/nginx/sbin/nginx -c /usr/local/openresty/nginx/conf/nginx.conf
ExecReload=/usr/local/openresty/nginx/sbin/nginx -s reload
#然后重载下配置
systemctl daemon-reload
#将openresty的nginx链接到lnmp里的nginx,完成“替换”(重要!)。
ln -snf /usr/local/openresty/nginx/sbin/nginx /usr/bin/nginx
#最后启动nginx(openresty)
lnmp start nginx
#或者直接使用 lnmp restart 来重启lnmp也可以,反正怎么开心怎么来。
执行完成之后可以使用 nginx -V
或者 nginx -t
等相关命令查看是否成功替换为openresty。
#重启openresty的nginx
#方式一
lnmp nginx restart
#方式二
systemctl restart nginx
#方式三
restart
#V是大写字母!判断是否编译安装http_stub_status_module模块
/usr/local/openresty/nginx/sbin/nginx -V
#修改nginx的ln软连接
ln -snf /usr/local/openresty/nginx/sbin/nginx /usr/bin/nginx
Usage: lnmp {start|stop|reload|restart|kill|status}
Usage: lnmp {nginx|mysql|mariadb|php-fpm|pureftpd} {start|stop|reload|restart|kill|status}
Usage: lnmp vhost {add|list|del}
Usage: lnmp database {add|list|edit|del}
Usage: lnmp ftp {add|list|edit|del|show}
Usage: lnmp ssl add
Usage: lnmp {dnsssl|dns} {cx|ali|cf|dp|he|gd|aws}
Usage: lnmp onlyssl {cx|ali|cf|dp|he|gd|aws}