前言
之前用LAMP(ubuntu-server20.04+apache+mariadb+php),搭建了wordpress,相关链接:
《从头安装Ubuntu所需软件(一):openssh、apache》、《初步折腾apache:使用apache创建多个站点》、《从头安装Ubuntu所需软件(二):php及模块》、《ubuntu20.04安装phpmyadmin的坑》、《二步折腾Apache:配置站点https》。
现在
增加点需求,再搭建一个https的网站,且后端为普通http服务。
试过通过apache来实现,太不容易了,转而谋求nginx,反正nginx迟早避不过这个坑,视为LNMP吧。
正式开始
1、新手起步,先排除外界条件,以免整复杂了,停止apache先:
2、安装nginx
3、安装nginx所需的php模块:php-fpm
sudo apt install php-fpm
根据搜索,php-fpm主要负责解析php,并传给nginx。
PS:nginx.conf中的user和group和后面配置的PHP-FPM的user(/etc/php/7.4/fpm/pool.d/www.conf)要保持一致,此处为www-data;
坑
1、安装完nginx后,可能会出现无法启动的情况,提示:
nginx: [error] open() "/usr/local/var/run/nginx.pid" failed (2: No such file or directory)
报错原因:
未找到nginx.pid文件
解决方案:(参考:https://www.jianshu.com/p/4f8b57632e2b)
(执行该命令之后,nginx 会在 /usr/local/var/run/ 路径下创建一个名为nginx.pid 的文件 )
2、启动可能提示443端口无法绑定的情况:
nginx: [emerg] bind() to 0.0.0.0:443 failed (98: Address already in use)
解决方案:(参考:https://www.digitalocean.com/community/questions/nginx-is-unable-to-bind-to-443)
PS:试过lsof -i:443,查看占用端口的文件或进程,居然没有PID,想kill都不行。
终于
至此,nginx总算是成功启动了。接下来配置nginx,实现:
1、80端口,根据不同域名,重定向到相应的https的域名;
2、443端口,根据不同域名,转到不同网站,我这里一个是wordpress(指定目录),一个是cloudreve(转到自己的后台服务端口);
大功告成!
文章评论