CentOS上Nginx安装记录

相对于Tomcat,Nginx处理静态资源的能力更加高效,在生产环境下,一般都会将静态资源部署到Nginx中。

我安装和设置自启动Nginx做了记录。执行过程中的log太多,所以主要将命令记录下来了。

环境:CentOS7
Nginx版本:1.22.0

参考文档:https://www.runoob.com/linux/nginx-install-setup.html

http://gongfuma.com/front/tech/detail/id/280/typeid/3.html

(以下命令中,其中目录有可能是/usr/local/webserver/nginx/,也可能是/usr/local/nginx/,请根据自己实际情况操作)

安装执行命令:

#一、安装编译工具及库文件
[root@localhost ~]# yum -y install make zlib zlib-devel gcc-c++ libtool  openssl openssl-devel
#二、安装 PCRE (PCRE 作用是让 Nginx 支持 Rewrite 功能。)
[root@localhost ~]# cd /usr/local
[root@localhost local]# cd src
#1、下载 PCRE 安装包
[root@localhost src]# wget http://downloads.sourceforge.net/project/pcre/pcre/8.35/pcre-8.35.tar.gz
[root@localhost src]# ls
pcre-8.35.tar.gz
#2、解压安装包
[root@localhost src]# tar zxvf pcre-8.35.tar.gz 
[root@localhost src]# ls
pcre-8.35  pcre-8.35.tar.gz
[root@localhost src]# cd pcre-8.35
#3、编译和安装
[root@localhost pcre-8.35]# ./configure
[root@localhost pcre-8.35]# make && make install
[root@localhost pcre-8.35]# cd /usr/local/src
[root@localhost src]# 
#三、安装Nginx
#1、下载Nginx安装包
[root@localhost src]# wget http://nginx.org/download/nginx-1.22.0.tar.gz
#2、解压
[root@localhost src]# tar zxvf nginx-1.22.0.tar.gz
[root@localhost src]# cd nginx-1.22.0/
#3、编译和安装
[root@localhost nginx-1.22.0]# ./configure --prefix=/usr/local/webserver/nginx --with-http_stub_status_module --with-http_ssl_module --with-pcre=/usr/local/src/pcre-8.35
[root@localhost nginx-1.22.0]# make
[root@localhost nginx-1.22.0]# make install
[root@localhost nginx-1.22.0]# /usr/local/webserver/nginx/sbin/nginx -v
#或者(根据目录而定):/usr/local/nginx/sbin/nginx -v
nginx version: nginx/1.22.0
[root@localhost nginx-1.22.0]#

然后重新打开nginx,再开启防火墙80端口:

[root@localhost ~]# firewall-cmd --permanent --zone=public --add-port=80/tcp
success
[root@localhost ~]# firewall-cmd --reload
success
[root@localhost ~]# ps -ef | grep nginx
root      67190  66624  0 16:05 pts/1    00:00:00 grep --color=auto nginx
[root@localhost ~]#
[root@localhost]# /usr/local/webserver/nginx/sbin/nginx -s reopen
[root@localhost]# 
[root@localhost]# 
[root@localhost]# ps -ef | grep nginx
root      67434      1  0 16:11 ?        00:00:00 nginx: master process /usr/local/webserver/nginx/sbin/nginx
nobody    67435  67434  0 16:11 ?        00:00:00 nginx: worker process
root      68129  67272  0 16:26 pts/1    00:00:00 grep --color=auto nginx
[root@localhost]# 

此时再访问Nginx,成功!
在这里插入图片描述
将静态资源部署到Nginx非常简单,只需要将文件复制到Nginx安装目录下的html目录中即可。详细地址在:/usr/local/nginx/html

启动程序报错处理
在执行
/usr/local/webserver/nginx/sbin/nginx -s reopen
或者
/usr/local/nginx/sbin/nginx -s reopen
出现下报错:

[root@campus sbin]# /usr/local/nginx/sbin/nginx -s reload 
nginx: [error] open() "/usr/local/nginx/logs/nginx.pid" failed (2: No such file or directory)

出现此情况时,先查看是否存在:/usr/local/nginx/logs/nginx.pid 目录
如果存在,则执行:

// 先执行下边这句
[root@TEST nginx]# sudo nginx -c /etc/nginx/nginx.conf

// 再执行下边这句
[root@TEST nginx]# nginx -s reload

如果不存在以上目录,则进入 vim /usr/local/nginx/conf/nginx.conf,编辑配置文件nginx.conf。
在配置文件中有个注释的地方: #pid logs/nginx.pid后面加上
pid /usr/local/nginx/logs/nginx.pid;
截取配置部分如下:

#pid        logs/nginx.pid;
pid  /usr/local/nginx/logs/nginx.pid;

在 /usr/local/nginx 目录下创建 logs 目录:mkdir /usr/local/nginx/logs(如果没有的话)
然后再次启动nginx服务:

[root@campus logs]# cd /usr/local/nginx/sbin
[root@campus sbin]# ./nginx

问题解决!

设置开机自启动
nginx开机自启动
在系统服务目录里创建nginx.service文件,进入编辑
vi /lib/systemd/system/nginx.service
添加以下内容到这个新文件内

[Unit]
Description=nginx
After=network.target

[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s quit
PrivateTmp=true

[Install]
WantedBy=multi-user.target

参数解释:

Description:描述服务
After:描述服务类别
[Service]服务运行参数的设置
Type=forking是后台运行的形式
ExecStart为服务的具体运行命令
ExecReload为重启命令
ExecStop为停止命令
PrivateTmp=True表示给服务分配独立的临时空间
注意:[Service]的启动、重启、停止命令全部要求使用绝对路径
[Install]运行级别下服务安装的相关设置,可设置为多用户,即系统运行级别为3

设置开机启动:
systemctl enable nginx.service

Nginx常用的几条命令

/usr/local/webserver/nginx/sbin/nginx -s reload            # 重新载入配置文件
/usr/local/webserver/nginx/sbin/nginx -s reopen            # 重启 Nginx
/usr/local/webserver/nginx/sbin/nginx -s stop              # 停止 Nginx
cat /usr/local/webserver/nginx/conf/nginx.conf        #查看Nginx配置
vim /usr/local/webserver/nginx/conf/nginx.conf        #配置Nginx



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值