Nginx 和 Apache 安装
Nginx 安装
Ubuntu 下安装
sudo apt-get install nginx --upgrade
CentOS 下安装
- ※ 使用 root 用户 ※
安装依赖
yum groupinstall "Development Tools"
yum -y install wget openssl openssl-devel make automake pcre-devel zlib zlib-devel
下载并解压 Nginx
cd /usr/local/src
wget https://nginx.org/download/nginx-1.18.0.tar.gz
tar -zxvf nginx-1.18.0.tar.gz
cd nginx-1.18.0
创建 www 用户
groupadd www
useradd -g www -s /sbin/nologin -M www
运行 configure 文件检测程序
./configure --prefix=/usr/local/nginx --user=www --group=www
编译安装
make && make install
创建软连接
ln -s /usr/local/nginx/sbin/nginx /usr/bin/nginx
在 init.d 中创建 nginx
vim /etc/init.d/nginx
#!/bin/sh
#nginx - this script starts and stops the nginx daemon
#chkconfig: - 85 15
#description: NGINX is an HTTP(S) server, HTTP(S) reverse
#proxy and IMAP/POP3 proxy server
#processname: nginx
#config: /usr/local/nginx/conf/nginx.conf
#config: /etc/sysconfig/nginx
#pidfile: /usr/local/nginx/logs/nginx.pid
#Source function library.
. /etc/rc.d/init.d/functions
#Source networking configuration.
. /etc/sysconfig/network
#Check that networking is up.
[ “KaTeX parse error: Expected 'EOF', got '&' at position 22: …KING" = "no" ] &̲& exit 0 nginx=…(basename KaTeX parse error: Expected 'EOF', got '&' at position 87: …config/nginx ] &̲& . /etc/syscon…nginx -V 2>&1 | grep “configure arguments:” | sed ‘s/[*]*–user=([ ])./\1/g’ -if [ -z "
grep $user /etc/passwd" ]; then useradd -M -s /bin/nologin $user fi options=
$nginx -V 2>&1 | grep 'configure arguments:'for opt in $options; do if [
echo $opt | grep '.*-temp-path’]; then value=
echo o p t ∣ c u t − d " = " − f 2 ‘ i f [ ! − d " opt | cut -d "=" -f 2` if [ ! -d " opt∣cut−d"="−f2‘if[!−d"value” ]; then
#echo “creating” $value
mkdir -p $value && chown -R $user $value
fi
fi
done
}
start() {
[ -x $nginx ] || exit 5
[ -f $NGINX_CONF_FILE ] || exit 6
make_dirs
echo -n $"Starting $prog: "
daemon $nginx -c N G I N X C O N F F I L E r e t v a l = NGINX_CONF_FILE retval= NGINXCONFFILEretval=?
echo
[ $retval -eq 0 ] && touch $lockfile
return $retval
}
stop() {
echo -n $"Stopping $prog: "
killproc p r o g − Q U I T r e t v a l = prog -QUIT retval= prog−QUITretval=?
echo
[ $retval -eq 0 ] && rm -f $lockfile
return $retval
}
restart() {
configtest || return $?
stop
sleep 1
start
}
reload() {
configtest || return $?
echo -n $"Reloading $prog: "
killproc n g i n x − H U P R E T V A L = nginx -HUP RETVAL= nginx−HUPRETVAL=?
echo
}
force_reload() {
restart
}
configtest() {
$nginx -t -c $NGINX_CONF_FILE
}
rh_status() {
status $prog
}
rh_status_q() {
rh_status >/dev/null 2>&1
}
case “$1” in
start)
rh_status_q && exit 0
$1
;;
stop)
rh_status_q || exit 0
$1
;;
restart|configtest)
$1
;;
reload)
rh_status_q || exit 7
$1
;;
force-reload)
force_reload
;;
status)
rh_status
;;
condrestart|try-restart)
rh_status_q || exit 0
;;
*)
echo $“Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}”
exit 2
esac
chmod a+x /etc/init.d/nginx
启动 Nginx
/etc/init.d/nginx start
配置防火墙端口
firewall-cmd --permanent --add-port=80/tcp --zone=public
firewall-cmd --reload
Apache 安装
Ubuntu 下安装
sudo apt-get install apache2 --upgrade
CentOS 下安装
- ※ 使用 root 用户安装 ※
安装依赖
yum groupinstall "Development Tools"
yum -y install wget openssl openssl-devel make automake pcre-devel zlib zlib-devel epel-release autoconf expat-devel libtool libnghttp2-devel
安装 apr
cd /usr/local/src
wget https://downloads.apache.org/apr/apr-1.7.0.tar.gz
tar -zxvf apr-1.7.0.tar.gz
cd apr-1.7.0
./configure --prefix=/usr/local/apr-1.7.0
make && make install
※ 报错 rm: cannot remove 'libtoolT': No such file or directory
解决方法:将 configure 文件中 RM=‘ R M ′ 改 成 R M = ′ RM' 改成 RM=' RM′改成RM=′RM -f’
提示:使用 vim 可以用 :/RM=’$RM’ 快速找到目标
然后执行 make clean
安装 apr-util
cd /usr/local/src
wget https://downloads.apache.org/apr/apr-util-1.6.1.tar.gz
tar -zxvf apr-util-1.6.1.tar.gz
cd apr-util-1.6.1
./configure --prefix=/usr/local/apr-util-1.6.1 --with-apr=/usr/local/apr-1.7.0/
make && make install
安装 httpd
cd /usr/local/src
wget https://downloads.apache.org/httpd/httpd-2.4.46.tar.gz
tar -zxvf httpd-2.4.46.tar.gz
cd httpd-2.4.46
./configure --prefix=/usr/local/httpd-2.4.46 --with-apr=/usr/local/apr-1.7.0/ --with-apr-util=/usr/local/apr-util-1.6.1/
make && make install
在 init.d 中创建软连接
ln -s /usr/local/httpd-2.4.46/bin/apachectl /etc/init.d/apache2
启动
/etc/init.d/apache2 start