linux Nginx安装与启动

一、先到官网下载Nginx

官网地址:

http://nginx.org/en/download.html在这里插入图片描述
我下载的是nginx-1.20.2

二、下载好的文件上传到服务器,然后解压

1、上传到指定的服务器地址,我这里是公司服务器,目录都是定义好的,自己玩建议分好目录(同类型的文件放入一个文件夹),不然不容易找到,看上去也很乱

在这里插入图片描述

2.解压

tar -zxvf nginx-1.20.2.tar.gz(换成自己得文件名)

解压完成,输入ll查看
在这里插入图片描述

3.安装依赖

需要安装的依赖:gcc 、pcre-devel(URL重写功能)和 zlib 库(解压缩),我这个指令前面加sudo,是因为需要公司赋权,你们不需要加

 yum -y install gcc pcre-devel zlib zlib-devel

在这里插入图片描述

三、配置安装的路径

因为我这个是公司服务器,user目录没有权限访问,所以我自己创建了一个文件夹,nginxInstal,作为nginx安装目录
在这里插入图片描述

1.进行configure

进入解压过的nginx目录
在这里插入图片描述
执行以下指令,有些博主只执行./configure --prefix=/bonc/touch/nginxInstal ,但是这样会因为版本问题,nginx.conf配置会报错

./configure --prefix=/bonc/touch/nginxInstal \
--with-threads \
--with-file-aio \
--with-http_ssl_module \
--with-http_v2_module \
--with-http_realip_module \
--with-http_addition_module \
--with-http_xslt_module \
--with-http_image_filter_module \
--with-http_geoip_module \
--with-http_sub_module \
--with-http_dav_module \
--with-http_flv_module \
--with-http_mp4_module \
--with-http_gunzip_module \
--with-http_gzip_static_module \
--with-http_auth_request_module \
--with-http_random_index_module \
--with-http_degradation_module \
--with-http_slice_module \
--with-http_stub_status_module \
--with-stream \
--with-stream_ssl_module \
--with-stream_ssl_preread_module

出现此内容,证明执行成功
在这里插入图片描述

2.报错时解决办法

在这里插入图片描述
执行下面两个指令

yum -y install pcre-devel
yum -y install openssl openssl-devel

执行之后,再进行configure

3.make && make install

先执行make ,再执行make install也可以
在这里插入图片描述

四、查看Nginx是否成功安装

1.进入nginx安装目录,进入bin,执行nginx启动指令

./nginx 

在这里插入图片描述

2.启动报错

此报错是因为Linux只有root用户可以使用1024一下的端口

在这里插入图片描述
解决办法:
安装目录conf/nginx.conf 文件中的80端口改为1024以上

server {
# listen 80
   listen 8080
……
}

2.浏览器访问

ip+端口(nginx监听的端口),出现此页面,证明安装成功
在这里插入图片描述

五、Nginx的一些常用命令

启动

./nginx

停止

./nginx -s stop

重启,此指令一般是改了conf文件之后用

./nginx -s reload

查看nginx进程

ps -ef | grep nginx
### Java 文件操作中的权限问题解决方案 当遇到 `java.io.FileNotFoundException` 或者类似的异常提示 `(Access is denied)` 时,通常是因为程序试图访问或修改某个文件或目录时缺乏必要的权限。以下是可能的原因以及对应的解决方案: #### 原因分析 1. **目标路径的权限不足** 如果尝试在受保护的位置(如 C 盘根目录或其他受限区域)创建文件,则可能会因为操作系统级别的权限限制而失败[^3]。 2. **文件已被占用** 若目标文件已经被其他进程打开并锁定,则当前程序将无法对其进行写入或覆盖操作[^4]。 3. **用户账户控制 (UAC)** Windows 系统下的 UAC 功能可能导致即使是以管理员身份运行的应用也无法获得某些敏感位置的操作许可。 4. **网络驱动器或共享资源上的权限冲突** 当处理位于远程服务器或通过局域网挂载的存储设备上的数据时,可能存在额外的身份验证需求或是更严格的 ACL 设置阻止了正常流程执行。 5. **错误配置的安全策略** 错误设置的目标文件夹安全性选项也可能阻碍正常的读/写行为;比如未赋予 Everyone 组足够的权利来完成所需动作。 #### 解决策略 针对上述提到的各种可能性,这里给出几个可行的办法帮助克服此类障碍: ##### 方法一:调整保存路径至非特权区 建议把新建立文档放置于用户的个人资料空间内(例如 Documents),而不是系统盘或者其他特殊分区下。这样可以有效规避大部分由 OS 强加给开发者带来的不便之处。 ```java @Test public void createInUserDirectory(){ String userHome = System.getProperty("user.home"); String filePath = userHome + "\\Documents\\news1.txt"; File file = new File(filePath); try { boolean created = file.createNewFile(); if(created){ System.out.println("文件已成功创建!"); } }catch(IOException ex){ ex.printStackTrace(); } } ``` ##### 方法二:提升应用启动级别 如果确实有必要继续沿用原始指定地址的话,那么可以通过右击项目入口点(.bat,.jar etc.)选择“以管理员身份运行”,从而临时提高整个会话期间所享有的授权等级以便顺利完成任务。不过需要注意的是这种方法仅适用于桌面端环境,在服务模式或者自动化脚本场景里并不适用。 另外也可以考虑修改 MANIFEST.MF 中 Main-Class 的定义部分加入如下参数实现自动请求最高权限: ```properties Manifest-Version: 1.0 Main-Class: com.example.MainApp Request-UAC-Elevation: true ``` ##### 方法三:确认无竞争性锁存在 确保没有任何第三方软件正在使用即将要操纵的那个具体实例之前,请务必关闭所有关联窗口和服务进程后再试一次新的调用逻辑测试看效果如何变化。 ##### 方法四:审查并修正NTFS属性分配情况 前往涉及的具体子目录上面点击鼠标右键-> 属性 -> 安全标签页 ,检查现有列表里面是否有对应主体条目缺失或者是其拥有的作用范围不足以满足实际业务诉求 。如果没有发现合适的匹配项则手动新增进去即可解决问题。 --- ### 注意事项 尽管提供了多种途径去缓解这个问题的影响程度,但在生产环境中还是推荐遵循最小化原则只授予刚好够用的那一份功能集就好,避免过度开放带来不必要的安全隐患风险。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值