最近,我树莓派出现structure needs cleaning,修复后部分文件缺失,所以打算重装系统,碰巧,这个星期作业少,所以打算手动编译LNMP环境不用一键安装包,练一下我的技术

1.准备安装

安装make,g++,添加用户和用户组

[text] yum -y install gcc automake autoconf libtool make yum install gcc gcc-c++ glibc groupadd -r www useradd -r -g www www [/text]

安装目录的话,我是安装在默认位置,当然如果你想要安装到你自己喜欢的目录也可以,自己修改一下路径

2.Nginx安装

2.1.文件准备

下载并解压pcre,zlib,openssl和nginx

[bash] cd /root wget https://ftp.pcre.org/pub/pcre/pcre-8.43.tar.gz wget https://sourceforge.net/projects/libpng/files/zlib/1.2.11/zlib-1.2.11.tar.gz wget https://www.openssl.org/source/openssl-1.1.0b.tar.gz wget http://nginx.org/download/nginx-1.17.5.tar.gz #如果你要下载新版本,请下载tar.gz后缀的,zip的是windows版的(之前下载zip版,死活无法编译,最后ls看文件才发现下载了win版的) tar -zxvf pcre-8.43.tar.gz tar -zxvf zlib-1.2.11.tar.gz tar -zxvf openssl-1.1.0b.tar.gz tar -zxvf nginx-1.17.5.tar.gz [/bash]

2.2.开始编译

[bash] ./configure –prefix=/usr/local/nginx –sbin-path=/usr/local/nginx/sbin/nginx –conf-path=/usr/local/nginx/conf/nginx.conf –pid-path=/usr/local/nginx/nginx.pid –user=www –group=www –with-http_ssl_module –with-http_flv_module –with-http_mp4_module –with-http_stub_status_module –with-select_module –with-poll_module –error-log-path=/home/wwwlogs/error.log –http-log-path=/home/wwwlogs/access.log –with-pcre=/root/pcre-8.43 –with-zlib=/root/zlib-1.2.11 –with-openssl=/root/openssl-1.1.0b make make install [/bash] [text] 各参数说明 –prefix表示nginx要安装到哪个路径下,这里指定刚才新建好的/alidata/server目录下的nginx-1.12.2; –sbin-path表示nginx的可执行文件存放路径 –conf-path表示nginx的主配置文件存放路径,nginx允许使用不同的配置文件启动,通过命令行中的-c选项 –pid-path表示nginx.pid文件的存放路径,将存储的主进程的进程号。安装完成后,可以随时改变的文件名 , 在nginx.conf配置文件中使用 PID指令。默认情况下,文件名 为prefix/logs/nginx.pid –error-log-path表示nginx的主错误、警告、和诊断文件存放路径 –http-log-path表示nginx的主请求的HTTP服务器的日志文件的存放路径 –user表示nginx工作进程的用户 –group表示nginx工作进程的用户组 –with-select_module或–without-select_module表示启用或禁用构建一个模块来允许服务器使用select()方法 –with-poll_module或–without-poll_module表示启用或禁用构建一个模块来允许服务器使用poll()方法 –with-http_ssl_module表示使用https协议模块。默认情况下,该模块没有被构建。建立并运行此模块的OpenSSL库是必需的 –with-pcre表示pcre的源码路径,因为解压后的pcre是放在root目录下的,所以是/root/pcre-8.41; –with-zlib表示zlib的源码路径,这里因为解压后的zlib是放在root目录下的,所以是/root/zlib-1.2.11 –with-openssl表示openssl库的源码路径 [/text]

开始生成配置文件

开始make

这个命令如果执行很快不是因为失败了,其实是成功了的,只要出现make[1]:Leaving 什么的,并且nginx目录和sbin有的基本上都成功了

2.3.添加服务

建立/etc/init.d/nginx

在其中写入

[bash] #!/bin/bash # chkconfig: - 85 15 PATH=/usr/local/nginx DESC=”nginx daemon” NAME=nginx DAEMON=$PATH/sbin/$NAME CONFIGFILE=$PATH/conf/$NAME.conf PIDFILE=$PATH/$NAME.pid SCRIPTNAME=/etc/init.d/$NAME set -e [ -x “$DAEMON” ] exit 0 do_start() { $DAEMON -c $CONFIGFILE echo -n “nginx already running” } do_stop() { $DAEMON -s stop echo -n “nginx not running” } do_reload() { $DAEMON -s reload echo -n “nginx can’t reload” } case “$1” in start) echo -n “Starting $DESC: $NAME” do_start echo “.” ;; stop) echo -n “Stopping $DESC: $NAME” do_stop echo “.” ;; reloadgraceful) echo -n “Reloading $DESC configuration…” do_reload echo “.” ;; restart) echo -n “Restarting $DESC: $NAME” do_stop do_start echo “.” ;; *) echo “Usage: $SCRIPTNAME {startstopreloadrestart}”; exit 3 ;; esac exit 0 [/bash]

注意修改几个变量,分别是PATH、NAME、DAEMON、CONFIGFILE、PIDFILE、SCRIPTNAME,其中,PATH设置为nginx的安装路径,DAEMON设置为nginx启动脚本的路径,CONFIGFILE是nginx.conf文件的路径,PIDFILE是进程文件的路径,需要与nginx.conf文件中的配置一致,SCRIPTNAME则是要指向当前文件路径/etc/init.d/nginx 

赋予权限并开机自动启动

[bash] chmod +x /etc/init.d/nginx systemctl enable nginx systemctl start nginx #启动nginx systemctl stop nginx #关闭nginx systemctl reload nginx #重新加载配置文件 chkconfig –add nginx #添加启动项 chkconfig nginx on #开机自启动 [/bash]

2.3.查看是否安装成功

输入你的服务器IP,如果出现以下页面则表示安装成功


广告
广告正在加载中...
暂不开放评论,如对本文有任何疑问,请联系i#mr-wu.top(#替换为@)