nginx服务器怎样提升权限,第1张

有时候我们的网站根目录会从一个目录迁移到另一个目录,如果我们服务器使用的是nginx或者Apache,我们一般会配置好网站根目录后然后往直接把网站解压或者上传到根目录中,这样引起的问题是无法对对文件进行任何的操作导致网站的异常,这在框架中最为常见,本地运行好好的网站,上传到服务器之后突然就不能访问了,出现很多错误,这就是在Linux下存在的权限问题,网上有些方法是很粗暴的使用chmod -R 777 dirname把所有的文件权限全部打开,其实这样能解决问题,但是不是最好的解决方案,我们如果理解Linux系统的用户权限那么问题就有更好的解决方案,下面以nginx服务器为例看一下

首先默认的网站目录是755权限的并且我们在root用户下的默认权限也是该用户的权限,就是目录的所属用户和用户组都是root,当我们访问网站时,浏览器发出请求,服务端相应的资源处理请求,如果涉及到文件的修改或新建操作时,服务端程序负责执行,由于服务端程序是由nginx和相应的语言解释模块负责执行的,所以首先服务器要有权限修改网站目录,我们打开nginx服务器下的配置文件nginxconf,第一行就是nginx执行的用户和组的设置

然后重启nginx服务器

如果是php的话,那么目前比较常用的是nginx会交由php-fpm模块去执行相应的操作,

所以还应该在php-fpmconf中修改

user=www

group=www

修改之后重启php-fpm模块,到这里用户配置就完成了

然后我们可以新建一个专门用于网站和ftp上传文件的用户,该用户是不登录的所以建立的时候要使用/sbin/nologin来建,我们看到nginx服务器的权限是www所以此时我们的做法是把网站根目录的权限改为www,命令为:

chown -R -v www:root /www/wwwroot

这样的话网站用户和组的的权限分别是www和root,服务器作为用户的读写是没有任何问题的,这个时候如果服务端自动建立的文件用户权限就为www组权限也为www,这样就具有完全的控制权了并且权限限制的刚好,

另外有些时候我们使用的网页富文本编辑器会遇到权限的问题,导致无法上传文件或者建立目录,这个时候我们只需要手动更改上传目录的权限为777即可,比如:chmod 777 upload 可能原因是编辑器前后端使用的是js交互,所以并不完全是nginx服务器的缘故

经过以上的步骤,在Linux上部署网站时,权限问题就解决了

默认根目录在配置文件nginxconf中,找到root指令后面的路径,就是nginx默认的根目录。windows和linux的默认根目录好像是不同的,windows下应该是nginx所在目录下的html目录。    

拓展:

1、Nginx ("engine x") 是一个高性能的HTTP和 反向代理 服务器,也是一个 IMAP/POP3/SMTP 服务器。 Nginx 是由 Igor Sysoev 为俄罗斯访问量第二的 Ramblerru 站点开发的,第一个公开版本010发布于2004年10月4日。其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。2011年6月1日,nginx 104发布。

2、Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。由俄罗斯的程序设计师Igor Sysoev所开发,供俄国大型的入口网站及搜索引擎Rambler(俄文:Рамблер)使用。

3、其特点是占有内存少,并发能力强,事实上nginx的并发能力确实在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、新浪、网易、腾讯、 淘宝等。

在Nginx中添加SSL证书以支持HTTPS协议访问,需要按照以下步骤进行操作:

将申请好的SSL证书文件上传到服务器:将证书文件(一般是以pem或crt为扩展名的文件)上传到服务器的指定目录,比如 /etc/nginx/ssl。

配置Nginx虚拟主机:打开 Nginx 的配置文件,一般是位于 /etc/nginx/nginxconf 或 /etc/nginx/confd/defaultconf ,找到需要启用HTTPS的虚拟主机配置块。

添加SSL证书配置:在虚拟主机配置块中添加以下配置项,以启用SSL证书:

server {

listen 443 ssl;

server_name your_domaincom;

ssl_certificate /etc/nginx/ssl/your_certcrt;

ssl_certificate_key /etc/nginx/ssl/your_private_keykey;

# 可选:为了增强安全性,可以添加以下配置项

ssl_protocols TLSv12 TLSv13;

ssl_prefer_server_ciphers on;

ssl_ciphers "EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH";

location / {

# 配置代理或者其他相关的业务逻辑

}

# 其他虚拟主机配置

}

注意替换 your_domaincom、your_certcrt 和 your_private_keykey 为实际的域名、证书文件和私钥文件路径。

保存配置文件并重启Nginx:完成配置后,保存文件并重新加载或重启Nginx服务,使配置生效。

sudo systemctl reload nginx

sudo systemctl restart nginx

配置防火墙:如果服务器上启用了防火墙,请确保允许入站/出站的HTTPS流量通过防火墙。

安装nginx前,我们首先要确保系统安装了g++、gcc、openssl-devel、pcre-devel和zlib-devel软件,可通过如图所示命令进行检测,如果以安装我们可以通过图二所示卸载

我们一般安装linux软件都会在/usr/local目录下,然后进行解压编译安装,具体的命令大家请看所示

等待配置和编译完成,完成后我们就需要配置防火墙,不拦截80端口,设置完成后需要重启防火墙

接下来介绍下启动/停止/重启的具体方法,进入目录后我们可以用执行sbin/nginx来启动,也可以通过conf/nginxconf来启动,停止我们可以查询进程使用kill -9 进程号/pkill -9 nginx来结束nginx服务,重启可以通过 sbin/nginx -s reload来重启,具体命令大家请看如图所示

下面来说说基本的操作命令,

nginx -h #帮助

nginx -v #显示版本

nginx -V #显示版本和配置信息

nginx -t #测试配置

nginx -q #测试配置时,只输出错误信息

nginx -s stop #停止服务器

nginx -s reload #重新加载配置

然后请看所示conf文件的配置,来配置nginx的方法

好了,这个就完成了,大家看看我的效果吧

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » nginx服务器怎样提升权限

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情