problems_nginx
1 配置nginx编译选项./configure --prefix=/usr/local/nginx --with-http_ssl_module
报错
报错内容:./configure: error: C compiler cc is not found
原因:未安装gcc gcc-c++ autoconf make
解决方法:yum -y install gcc gcc-c++ autoconf make
2 通过make命令编译和安装nginx报错
make && make install
报错,内容如下:make: *** No rule to make target 'build', needed by 'default'. Stop.
解决方法:
- 更新yum:
yum update
(不过实际过程中我没执行这一步) - 安装前置库openssl,pcre和gd,执行命令
yum -y install openssl-devel pcre-devel gd-devel
。 - 删除之前准备make的nginx包,然后重新解压一个
tar -zxvf /usr/apps/nginx-1.16.1.tar.gz -C /usr/develop/
- 再次配置编译选项,执行
./configure --prefix=/usr/local/nginx --with-http_ssl_module
- 再次编译和安装,执行
make && make install
参考链接:https://blog.csdn.net/cailongbiaoyuli/article/details/84348866
3 docker容器中无法使用 systemd(systemctl) 相关命令
centos7和centos8启动nginx服务报错,执行systemctl start nginx.service
报错内容如下:
[root@2cabcd9b34f1 system]# systemctl start nginx.service
System has not been booted with systemd as init system (PID 1). Can't operate.
Failed to connect to bus: Host is down
原因: 1号进程不是 init ,而是其他例如 /bin/bash ,所以导致缺少相关文件无法运行。
解决方案:/sbin/init
例如:centos,ubuntu,
docker run -tid --name test --privileged=true centos:latest /sbin/init
docker run -tid --name test_1 --privileged=true centos:latest /usr/sbin/init
docker run -tid --name test_2 --privileged=true ubuntu:16.04 /sbin/init
docker exec -it test /bin/bash
注: --privilaged=true一定要加上。
小结:还可以使用Dockerfile来设置nginx的开机启动。
4 halo系统无法上传容量大于1M的附件
(当然是经过了多次的测试,得出了1M的结论)
猜想是nginx的限制。果然,原因是nginx默认上传的最大文件大小是1M。
解决方法:
vim /usr/local/nginx/conf/nginx.conf
# 在server下添加如下语句
client_max_body_size 10M;
# 保存,再重新加载nginx配置,解决
systemctl reload nginx
注意:一定要将上述语句放在server{} 中,否则无效。
5 在非root账户下启动nginx报错
DESC:
RCA: 非root账户无权限使用 1024 以下的端口,而当时使用了80和443端口
SOLUTION: 将执行nginx的账户和nginx命令添加到 /etc/soduers 文件中。具体要添加的内容如下:
vim /etc/sudoers
# 在 /etc/sudoers 文件中的适当位置添加如下语句(user_account_name指代执行nginx的账户名称)
user_account_name ALL=(ALL) NOPASSWD: /home/user_account_name/nginx/sbin/nginx
6 nginx本地可以访问,客户端无法访问
RCA: 是因为防火墙没有放行 nginx 使用的端口 80 和 443
SOLUTION: 开放以上2个端口,配置防火墙的命令参考 http://blog.chinaunix.net/uid-20329764-id-5863874.html