Nginx 安装启动 搭建图片服务器

往期文章:
1.解决你所需的linux指令
2.VM虚拟机 CentOS 7安装
3.【Linux】docker卸载与安装及使用
4.【Linux】CentOS-7下安装JDK详细过程
5.【Linux】CentOS-7下安装tomcat
6.【linux】Jenkins部署在Tomcat服务器下
7.【Linux】CentOS-7下安装mysql详细过程
8.Nginx实现负载均衡(nginx + tomcat应用分布式)
9.docker安装Redis springboot中配置密码
10.【Linux】配置fastdfs和nginx图片服务器
11.Nginx 安装启动 搭建图片服务器
12.服务器中部署 禅道 (团队开发的bug提交管理工具)
13.【linux】服务器安装solr8.4.0

安装 Nginx

①第一步上传nginx的包

rz

在这里插入图片描述
②第二步,解压

tar -zxvf nginx-1.8.0.tar.gz 

③第三步:下载PCRE
PCRE(Perl Compatible Regular Expressions)是一个Perl库,包括 perl 兼容的正则表达式库。nginx的http模块使用pcre来解析正则表达式,所以需要在linux上安装pcre库。

yum install -y pcre pcre-devel

④第四步:zlib
zlib库提供了很多种压缩和解压缩的方式,nginx使用zlib对http包的内容进行gzip,所以需要在linux上安装zlib库。

yum install -y zlib zlib-devel

⑤第五步:openssl
OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。nginx不仅支持http协议,还支持https(即在ssl协议上传输http),所以需要在linux安装openssl库。

yum install -y openssl openssl-devel

⑥第六步:编译跟安装
将nginx-1.8.0.tar.gz拷贝至linux服务器(任意路径,一般是当前用户目录,如:/home/1712a/nginx_tools目录下)。

cd nginx-1.8.0

⑦执行配置命令
上边将临时文件目录指定为/var/temp/nginx,需要在/var下创建temp及nginx目录

mkdir /var/temp/nginx -p

然后在执行(nginx1.8目录下执行)
在这里插入图片描述
注意:在这个目录下一定要有这个configure 执行文件,才可以执行

./configure \
--prefix=/usr/local/nginx \
--pid-path=/var/run/nginx/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--with-http_gzip_static_module \
--http-client-body-temp-path=/var/temp/nginx/client \
--http-proxy-temp-path=/var/temp/nginx/proxy \
--http-fastcgi-temp-path=/var/temp/nginx/fastcgi \
--http-uwsgi-temp-path=/var/temp/nginx/uwsgi \
--http-scgi-temp-path=/var/temp/nginx/scgi

⑧编译安装
先编译(make)后安装(make install)

make
make install

⑨安装成功后,进入安装目录 :cd /usr/local/nginx

cd /usr/local/nginx

⑩再进入sbin目录下,启动nginx

cd sbin/

在这里插入图片描述
去启动

./nginx 

⑪查看是否启动成功

netstat -ntpl

在这里插入图片描述
⑫快速停止nginx

cd /usr/local/nginx/sbin
./nginx -s stop

⑬完整的停止(建议使用这个)

cd /usr/local/nginx/sbin 
./nginx -s quit

⑭重启nginx
方法1:对nginx进行重启相当于先停止nginx再启动nginx,即先执行停止命令再执行启动命令。
都是在sbin目录下去操作的

./nginx -s quit
./nginx

方式2,重新加载配置文件:
当nginx的配置文件nginx.conf修改后,要想让配置生效需要重启nginx,使用-s reload不用先停止nginx再启动nginx即可将配置信息在nginx中生效,如下:

./nginx -s reload

⑮测试nginx是否安装成功
http://192.168.137.130/ (虚拟机的ip)

在这里插入图片描述

nginx启动错误

nginx启动错误-----nginx: [emerg] open() “/var/run/nginx/nginx.pid” failed (2: No such file or directory)
解决方案:
在这里插入图片描述
1)进入 cd /usr/local/nginx/conf/ 目录,编辑配置文件nginx.conf ;

指令:cd /usr/local/nginx/conf/
指令 :vi nginx.conf

shift+i 进入编辑模式

在这里插入图片描述
(2)在配置文件中有个注释的地方: #pid logs/nginx.pid;
在这里插入图片描述
(4)在 /usr/local/nginx 目录下创建 logs 目录:mkdir /usr/local/nginx/logs

(5)再次启动nginx服务:cd /usr/local/nginx/sbin/ 问题解决
在这里插入图片描述

Nginx 搭建图片服务器

作用:因为需要安装图片服务器,同时并且做到图片上传到服务器的功能

Linux安装ftp组件(8步完成):因为服务器的问题,不可能给root角色,进行上传,这样肯定是对于服务器老说,是不安全的
①安装ftp组件

yum -y install vsftpd

②添加一个ftp用户

useradd ftpuser

此用户就是用来登录ftp服务器用的。
这样一个用户建完,可以用这个登录,记得用普通登录不要用匿名了。登录后默认的路径为

/home/ftpuser.

③给ftp用户添加密码

passwd ftpuser

输入两次密码后修改密码。(ftppwd123)
④检查防护墙是否关闭

systemctl stop firewalld.service  #停止firewall
systemctl disable firewalld.service  #禁止firewall开机启动

⑤修改selinux(忽略)
外网是可以访问上去了,可是发现没法返回目录(使用ftp的主动模式,被动模式还是无法访问),也上传不了,因为selinux作怪了。
修改selinux:
执行以下命令查看状态:

getsebool -a | grep ftp

执行上面命令,再返回的结果看到两行都是off,代表,没有开启外网的访问,就执行下面这两个指令

setsebool -P allow_ftpd_full_access on
setsebool -P tftp_home_dir on

⑥关闭匿名访问
在这里插入图片描述

vim /etc/vsftpd/vsftpd.conf

重启ftp服务:

service vsftpd restart

设置开机启动vsftpd ftp服务

chkconfig vsftpd on

⑦在Home的目录下创建一个三个目录的目录

mkdir /home/ftpuser/www/images

⑧在usr/local/nginx/html/images的目录
需要在nginx/html下创建一个images文件夹(实际访问的不是这个路径)
例如:图片通过ftp服务上传到/home/ftpuser/www/images目录下,我想通过访问Nginx服务器来访问ftp目录下的图片文件,该url为http://192.168.128.128/images/xxx.jpg。即使用http请求访问原本需要使用ftp请求才能访问到的资源文件。(不懂可先看最后图解测试)

mkdir /usr/local/nginx/html/images

⑨修改nginx/conf/nginx.conf在默认的server里再添加一个location并指定实际路径

cd /usr/local/nginx/conf/

#修改

vim nginx.conf

需要添加的内容

location /images/ {
root /home/ftpuser/www/;
autoindex on;
}

在这里插入图片描述

1)root则是将images映射到/home/ftpuser/www/images/
2)autoindex on便是打开浏览功能。

注意
1)ftpuser这个用户需要自己创建,已经创建过,所以在这里不再创建,若没有,则需要自己创建,名字任意。
2)root /home/ftpuser/www/这后面是不带images的且root后面要有空格。www目录下有images目录,用于存放图片!!

修改完成后,退出编辑

---------------上传图片 rz
在这里插入图片描述
⑩修改完后需要重新启动nginx
#进入目录

cd /usr/local/nginx/sbin/

#执行

./nginx -s reload

⑪修改用户访问权限

chown ftpuser /home/ftpuser
chmod 777 -R /home/ftpuser

在这里插入图片描述

⑫测试访问: ip/images/上传的图片名称
上传图片到 cd /home/ftpuser/www/images/ 目录下

在这里插入图片描述
例如:http://192.168.137.130/images/3.png

在项目中展示:

<!DOCTYPE html>
<html lang="en" xmlns:th="http://www.thymeleaf.org">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
 我是在服务器中运行的项目
  <img src="http://192.168.137.130/images/3.png">图片
</body>
</html>
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值