工作记录:nginx与apache配置

      项目热更新功能,客户端开放员要向服务器上传热更新文件。一开始是通过html页面进行文件上传保存到对应目录下,但是由于用他们觉得用html上传太慢了,所以调整了apache账号的设置,并对html上传文件的目录映射到/usr/share/httpd/下。这样子开发员上传文件可以用ssh,而客户端拉取更新文件的方式及链接格式也不用改变了。

1. apache账号相关

      由于搭建nginx的时候,已经创建了apache的账号了,所以不需要执行创建账号的操作了。但还需要下面两个操作:

sudo passwd apahce
sudo usermod -s /bin/bash apache

     第一个操作是为apache账号重设密码,因为我们并不知道它的初始密码是多少,可能并没有设置。

     第二个操作是修改apache账号使用的shell,否则ssh登录的时候会返回“This account is currently not available”的错误。应该是因为apache账号创建的时候很多配置项都没有指定。

     执行这两个操作之后,就可以用apache账号进行ssh登录了。这是进入的目录是/usr/share/httpd/。

2. nginx.conf中为apache设置登录账号及密码

     在nginx.conf中的http中添加如下内容:

    auth_basic "Please input password";
    auth_basic_user_file /usr/local/nginx/html/passwd;

     这是为nginx指定密码账号的配置文件,记得访问这个目录下的所有文件时,都需要执行登录操作。

     可以用下面的命令生成这个passwd配置文件:

    htpasswd -c /usr/local/nginx/html/passwd account_name

      account_name是登录的账号,而密码则是在输入命令后二次输入确定。

      修改配置文件后,重启nginx再登录页面可以看到如下的账号密码输入窗口了:

3. nginx配置资源映射

      正常情况下,当我访问http://x.x.x.x/files/file.txt时,服务器是会到nginx.conf中配置的location / 指定目录下的files目录查找file.txt目录,那如果我要将files目录映射到/usr/share/httpd/目录下的files目录下时,即实现一开始我提到的那个需求,该怎么做呢?其实,也只需要在nginx.conf中对应server下再增加一个location就行了。

		location /files/ {
			root /usr/share/httpd/;
			autoindex on;
		}

       这样子,当我通过http://x.x.x.x/files/file.txt读取文件时,从nginx的log文件中可以看到资源被映射到了/usr/share/httpd/files目录下。不过,上传文件时,在php文件中我是将文件保存到了/usr/share/httpd/files目录下,及php文件中关于文件的保存是写绝对目录的,而不是像以前是用相对目录就行了。

 

 

       关于这部分的总结就到这里了,不是专业的前端开发人员,所以有些可能不是最好的。就,记录一下吧。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值