Nginx 压缩包安装

Nginx   2025-01-12 15:19   229   0  

1、检查 Nginx 组和用户是否存在

cat /etc/group | grep nginx
cat /etc/passwd |grep nginx

image.png
若存在,则删除原nginx用户

userdel -r nginx

会删除其对应的组和用户
创建nginx组和nginx用户

groupadd nginx
useradd -r -g nginx nginx

image.png

2、解压nginx安装包和创建相关目录和文件

上传安装包到此目录下解压
image.png

wget https://repo.huaweicloud.com/nginx/nginx-1.25.4.tar.gz
tar -zxvf nginx-1.25.4.tar.gz

解压后修改目录名称为nginx

mv -f nginx-1.25.4 nginx

image.png

3、安装编译工具及库工具

yum -y install make gcc gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel libtool

image.png

4、进入安装包目录、编译安装

image.png

./configure --prefix=/usr/local/nginx --with-http_ssl_module

--prefix指定的是Nginx的安装目录
image.png

make && make install

5、修改nginx.conf

cd /usr/local/nginx/conf
vim nginx.conf

image.png

#以nginx用户启动nginx
user  nginx;
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;


events {
  worker_connections  1024;
}


http {
  include       mime.types;
  default_type  application/octet-stream;

  #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
  #                  '$status $body_bytes_sent "$http_referer" '
  #                  '"$http_user_agent" "$http_x_forwarded_for"';

  #access_log  logs/access.log  main;

  sendfile        on;
  #tcp_nopush     on;

  #keepalive_timeout  0;
  keepalive_timeout  65;

  #gzip  on;

  server {
    listen       80;
    server_name  localhost;

    #charset koi8-r;

    #access_log  logs/host.access.log  main;

    location / {
      root   html;
      index  index.html index.htm;
    }

    #error_page  404              /404.html;

    # redirect server error pages to the static page /50x.html
    #
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
      root   html;
    }

    # proxy the PHP scripts to Apache listening on 127.0.0.1:80
    #
    #location ~ \.php$ {
    #    proxy_pass   http://127.0.0.1;
    #}

    # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
    #
    #location ~ \.php$ {
    #    root           html;
    #    fastcgi_pass   127.0.0.1:9000;
    #    fastcgi_index  index.php;
    #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
    #    include        fastcgi_params;
    #}

    # deny access to .htaccess files, if Apache's document root
    # concurs with nginx's one
    #
    #location ~ /\.ht {
    #    deny  all;
    #}
  }


  # another virtual host using mix of IP-, name-, and port-based configuration
  #
  #server {
  #    listen       8000;
  #    listen       somename:8080;
  #    server_name  somename  alias  another.alias;

  #    location / {
  #        root   html;
  #        index  index.html index.htm;
  #    }
  #}


  # HTTPS server
  #
  #server {
  #    listen       443 ssl;
  #    server_name  localhost;

  #    ssl_certificate      cert.pem;
  #    ssl_certificate_key  cert.key;

  #    ssl_session_cache    shared:SSL:1m;
  #    ssl_session_timeout  5m;

  #    ssl_ciphers  HIGH:!aNULL:!MD5;
  #    ssl_prefer_server_ciphers  on;

  #    location / {
  #        root   html;
  #        index  index.html index.htm;
  #    }
  #}

}

6、创建日志文件

cd /usr/local/nginx
mkdir logs
touch logs/error.log
touch logs/access.log
touch logs/nginx.pid

7、配置nginx运行用户为nginx

chown -R nginx:nginx /usr/local/nginx
chmod -R 755 nginx/

image.png

8、启动服务

启动ngnix服务

/usr/local/nginx/sbin/nginx

配置文件启动

/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

关闭ngnix服务

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

重启ngnix服务

/usr/local/nginx/sbin/nginx -s reload

image.png
image.png

9、配置为系统服务并开机启动

touch /usr/lib/systemd/system/nginx.service
vim /usr/lib/systemd/system/nginx.service
[Unit]
Description=nginx web service
Documentation=http://nginx.org/en/docs/
After=network.target

[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStartPre=/usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s stop
PrivateTmp=true

[Install]
WantedBy=default.target

通过 systemctl 来启动 nginx

systemctl status nginx
systemctl start nginx
systemctl stop nginx
systemctl restart nginx
ps -ef | grep nginx

image.png
通过 systemctl 来设置 nginx开机启动

systemctl enable nginx

image.png

10、开启防火墙端口

nginx默认监听端口是80

systemctl status firewalld
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --reload
firewall-cmd --zone=public --query-port=80/tcp

image.png
image.png


博客评论
还没有人评论,赶紧抢个沙发~
发表评论
说明:请文明发言,共建和谐网络,您的个人信息不会被公开显示。