-
解压 gz (注意解压路径 我选择在/usr/local/nginx 下,/usr/local/下没有 nginx 请自行创建文件夹nginx)
tar -zxvf nginx-1.18.0.tar.gz
-
给Linux 添加 nginx 用户及用户组执行权限
groupadd -r nginx useradd -r -g nginx -s /bin/false -M nginx
-
执行./configure命令:
./configure --sbin-path=/usr/local/nginx/nginx \ --conf-path=/usr/local/nginx/nginx.conf \ --pid-path=/usr/local/nginx/nginx.pid \ --with-http_gzip_static_module \ --with-http_stub_status_module \ --with-file-aio \ --with-http_realip_module \ --with-http_ssl_module \ --with-pcre=/usr/local/src/pcre-8.44 \ --with-zlib=/usr/local/src/zlib-1.2.11 \ --with-openssl=/usr/local/src/openssl-1.1.1g
其中 pcre、zlib、openssl是nginx 必要的依赖插件,后边是各个插件对应的安装位置
这里需要安装 pcre-8.44 zlib-1.2.11 openssl-1.1.1g
gz 工具包在网盘 在文章最后
#
>>> 会提示这个错误 >>> ./configure: error: C compiler cc is not found >>> 解决办法(因为上面那条命令式重新编译nginx,需要C环境所以需要安装环境):
>>> yum -y install gcc gcc-c++ autoconf automake make
解决错误后再执行 ./configure -- 命令 - 编译并安装
make && make install
-
将nginx 注册到服务器里
1. 编辑脚本
sudo vim /etc/init.d/nginx
2.脚本内容
#! /bin/sh # chkconfig: 2345 55 25 # Description: Startup script for nginx webserver on Debian. Place in /etc/init.d and # run 'update-rc.d -f nginx defaults', or use the appropriate command on your # distro. For CentOS/Redhat run: 'chkconfig --add nginx' ### BEGIN INIT INFO # Provides: nginx # Required-Start: $all # Required-Stop: $all # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: starts the nginx web server # Description: starts nginx using start-stop-daemon ### END INIT INFO # Author: licess # website: https://lnmp.org NGINX_BIN='/usr/local/nginx/sbin/nginx' CONFIG='/usr/local/nginx/conf/nginx.conf' case "$1" in start) echo -n "Starting nginx... " PID=$(ps -ef | grep "$NGINX_BIN" | grep -v grep | awk '{print $2}') if [ "$PID" != "" ]; then echo "nginx (pid $PID) already running." exit 1 fi $NGINX_BIN -c $CONFIG if [ "$?" != 0 ]; then echo " failed" exit 1 else echo " done" fi ;; stop) echo -n "Stoping nginx... " PID=$(ps -ef | grep "$NGINX_BIN" | grep -v grep | awk '{print $2}') if [ "$PID" = "" ]; then echo "nginx is not running." exit 1 fi $NGINX_BIN -s stop if [ "$?" != 0 ] ; then echo " failed. Use force-quit" $0 force-quit else echo " done" fi ;; status) PID=$(ps -ef | grep "$NGINX_BIN" | grep -v grep | awk '{print $2}') if [ "$PID" != "" ]; then echo "nginx (pid $PID) is running..." else echo "nginx is stopped." exit 0 fi ;; force-quit|kill) echo -n "Terminating nginx... " PID=$(ps -ef | grep "$NGINX_BIN" | grep -v grep | awk '{print $2}') if [ "$PID" = "" ]; then echo "nginx is is stopped." exit 1 fi kill $PID if [ "$?" != 0 ]; then echo " failed" exit 1 else echo " done" fi ;; restart) $0 stop sleep 1 $0 start ;; reload) echo -n "Reload nginx... " PID=$(ps -ef | grep "$NGINX_BIN" | grep -v grep | awk '{print $2}') if [ "$PID" != "" ]; then $NGINX_BIN -s reload echo " done" else echo "nginx is not running, can't reload." exit 1 fi ;; configtest) echo -n "Test nginx configure files... " $NGINX_BIN -t ;; *) echo "Usage: $0 {start|stop|restart|reload|status|configtest|force-quit|kill}" exit 1 ;; esac
注意 其中
NGINX_BIN='/usr/local/nginx/sbin/nginx'
CONFIG='/usr/local/nginx/conf/nginx.conf'
两个路径的书写跟 自己配置的路径保持一致 -
添加至服务
chkconfig --add nginx
-
设置开机自启
chkconfig nginx on
-
设置环境变量
vi /etc/profile
source /etc/profile
这里需要安装 nginx-1.18.0.tar.gz pcre-8.44 zlib-1.2.11 openssl-1.1.1g
工具包在网盘
百度网盘 请输入提取码 lcr2