侧边栏壁纸
博主头像
Linux学习记录博主等级

我们因为好奇而所获得的一切,最终会因为骄傲而全然玷污

  • 累计撰写 45 篇文章
  • 累计创建 13 个标签
  • 累计收到 9 条评论

目 录CONTENT

文章目录

nginx架设多站点(包括wordpress),并实现https访问与跳转

Frank
2021-03-05 / 0 评论 / 0 点赞 / 12 阅读 / 3049 字

前言

之前用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先:

sudo systemctl stop apache2

2、安装nginx

sudo apt install -y 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)

sudo $sudo nginx

(执行该命令之后,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)

sudo fuser -k 443/tcp

PS:试过lsof -i:443,查看占用端口的文件或进程,居然没有PID,想kill都不行。

终于

至此,nginx总算是成功启动了。

接下来配置nginx,实现:

1、80端口,根据不同域名,重定向到相应的https的域名;

1-onnn.jpg2、443端口,根据不同域名,转到不同网站,我这里一个是wordpress(指定目录),一个是cloudreve(转到自己的后台服务端口);

2-thrp.jpg 大功告成!

0

评论区