CentOS7下安装nginx及nginx配置

安装nginx

首先需要安装nginx插件,然后再安装nginx。

1、安装gcc

gcc是linux下的编译器,它可以编译 C,C++,Ada,Object C和Java等语言,但是一般centOS7已经安装好了,如果不确定可以先查看其版本:gcc -v,如果出现版本号说明已经安装了:

如果没有的话,输入命令:yum -y install gcc进行安装。

2、pcre、pcre-devel安装

pcre是一个perl库,包括perl兼容的正则表达式库,nginx的http模块使用pcre来解析正则表达式,所以需要安装pcre库:yum install -y pcre pcre-devel

3、zlib安装

zlib 库提供了很多种压缩和解压缩的方式, nginx 使用 zlib 对 http 包的内容进行 gzip:yum install -y zlib zlib-devel

4、安装openssl

OpenSSL是一个开放源代码的软件库包,应用程序可以使用这个包来进行安全通信,避免窃听,同时确认另一端连接者的身份。这个包广泛被应用在互联网的网页服务器上:yum install gcc openssl-devel pcre-devel -y,检验安装结果:pcre-config --version

5、下载nginx安装包

wget http://nginx.org/download/nginx-1.9.9.tar.gz  

6、解压

最好先创建一个文件夹,来安装nginx

创建文件夹

我习惯在/usr/local下建一个java的文件夹

cd /usr/local
mkdir java

解压安装包到/usr/local/java

首先回到下载nginx压缩包的目录下,然后解压,由于我是直接下载在root下,所以:

cd
tar -zxvf nginx-1.9.9.tar.gz -C /usr/local/java

配置

1、首先到解压nginx目录下

cd /usr/local/java/nginx-1.9.9/

2、这一步骤可以形成nginx文件

查看自己需要得配置,建议看看官网的参数说明根据你需要的情景使用配置,

扫描二维码关注公众号,回复: 8605902 查看本文章
./configure  --help

个人案例,执行两个命令:

./configure --prefix=/server/nginx

在这里插入图片描述
出现如图所示则说明成功。

make && make installc

在这里插入图片描述
出现如图所示则说明成功。

回到cd /server可以看到一个nginx文件

3、cd /server/nginx/conf

配置nginx的配置文件nginx.conf文件,主要也就是端口:vi nginx.conf

编辑完事后按esc键后输入wq!保存并退出。

4、启动nginx服务

切换目录到/server/nginx/sbin下面,启动nginx命令:./nginx,查看nginx服务是否启动成功:

ps -ef | grep nginx

在这里插入图片描述

5、测试启动

cd /server/nginx/sbin //这个是配置安装包时候的目录
./nginx //启动
./nginx -s stop //停止
./nginx -s quit //退出
./nginx -s reload //重启
在这里插入图片描述

6、主机浏览器无法访问问题

云服务器Linux,安装配置完成nginx后,如果主机无法访问。则服务器没有放行Nginx默认端口80
解决办法:
(1)、查看防火墙对外开放的端口firewall-cmd --zone=public --list-ports
(2)、开启 web 端口firewall-cmd --permanent --add-port=80/tcp
(3)、重启 firewallfirewall-cmd --reload
在这里插入图片描述
从这张图片就可以看出来,这是本人重新装的另一台服务器,之前只开通了3306端口而且nginx目录是/user/local/nginx。

7、配置 systemctl 命令

centos7服务管理都是通过systemctl命令的,所以我们可以添加一下对应nginx的service服务,systemctl服务储存地址 :/usr/lib/systemd/system/
执行以下命令新建nginx服务:vim /usr/lib/systemd/system/nginx.service
并录入以下内容:

[Unit]
Description=nginx - high performance web server
After=network.target remote-fs.target nss-lookup.target
 
[Service]
Type=forking
ExecStart=/server/nginx/sbin/nginx
ExecReload=/server/nginx/sbin/nginx -s reload
ExecStop=/server/nginx/sbin/nginx -s stop

然后按下esc键输入wq!完成输入(在这里不得不吐槽xshell工具,最好按下esc键后先多输入几下“!”,真不知道为什么直接输入wq!居然能把q当作命令???)

配置说明:

Description:描述服务
After:描述服务类别

[Service]服务运行参数的设置
Type=forking是后台运行的形式
ExecStart为服务的具体运行命令
ExecReload为重启命令
ExecStop为停止命令
PrivateTmp=True表示给服务分配独立的临时空间
注意:启动、重启、停止命令全部要求使用绝对路径

[Install]服务安装的相关设置,可设置为多用户

要服务生效,需要重新加载服务

systemctl daemon-reload

现在可以使用systemctl命令来对nginx进行操作了(当然,要先把之前启动的nginx服务退了,不然就会报一下的错误Job for nginx.service failed because the control process exited with error code. See "systemctl status nginx.service" and "journalctl -xe" for details.

systemctl start nginx  //启动
systemctl stop nginx  //停止
systemctl reload nginx  //重启 可以不用停止nginx服务,使修改的配置生效
systemctl restart nginx  //重启
systemctl enable nginx  //设置开机启动
systemctl disable nginx  //禁用开机启动
systemctl status nginx  //查看服务状态

获取所有正在运行的服务
systemctl list-units --type=service
启动后可以访问一下自己的IP,依旧可以访问说明成功了。

总结不易,之前也失败过好多回,可能在描述上或者总结上有些许错误,希望大家可以指正出来,比个心❤。

发布了11 篇原创文章 · 获赞 5 · 访问量 732

猜你喜欢

转载自blog.csdn.net/JAVA_php_Jack/article/details/103940324