时间:2021-10-16 作者:冰城心无泪 分类: Linux应用
使用yum的官方源进行下载安装某些应用的时候可能会出现下载慢甚至找不到RPM包的情况,因此,就需要将下载源更换为国内的源及安装扩展仓库。
本人习惯是用阿里云的源,因此,以阿里云源为例。当然也可以用其他源,比如中科大的源、腾讯源等。若此前更换源,此步骤可略过。
具体步骤如下:
cd /etc/yum.repos.d/ && tar -czvf repo_bak.tar.gz *.repo && rm -f *.repo && cd ~
Centos7:
YUM源:curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
扩展仓库:curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
Centos8:
YUM源:curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo
扩展仓库:yum -y install https://mirrors.aliyun.com/epel/epel-release-latest-8.noarch.rpm
yum makecache
Nginx是C语言开发,因此,编译依赖gcc,如果没有gcc环境,则需要安装。Nginx源码包可在Nginx官网下载。Wget为Linux下的下载工具,没有则需安装。Nginx的Rewrite模块和HTTP 核心模块会使用到PCRE正则表达式语法,需安装。Nginx启用压缩功能的时候,需要zlip,因此需要安装。Nginx开启SSL需用到openssl,因此也需要安装,vim用于编辑配置文件,用系统自带的工具vi也可以,make用于编译,一般系统自带。
mkdir -p /{Nginx/SSL,Tools}
yum -y install gcc gcc-c++ pcre pcre-devel openssl openssl-devel make vim wget
注:如果不需要使用TLSv1.3,也可跳过此步骤。Centos8中,Openssl默认的版本已经是1.1.1*了。不需要此操作,
wget -P /Tools https://www.openssl.org/source/openssl-1.1.1q.tar.gz
tar -xzvf /Tools/openssl-1.1.1q.tar.gz -C /Tools/
cd /Tools/openssl-1.1.1q && ./config && make && make install
mv -f /usr/bin/openssl /usr/bin/openssl.bak
ln -s /usr/local/bin/openssl /usr/bin/openssl
ln -s /usr/local/lib64/libssl.so.1.1 /usr/local/lib/libssl.so
ln -s /usr/local/lib64/libcrypto.so.1.1 /usr/local/lib/libcrypto.so
echo "/usr/local/lib64/" >> /etc/ld.so.conf && ldconfig -v
wget -P /Tools http://nginx.org/download/nginx-1.24.0.tar.gz
解压:tar -xzvf /Tools/nginx-1.24.0.tar.gz -C /Tools/
安装:cd /Tools/nginx-1.24.0 && ./configure --prefix=/Nginx \
--with-http_ssl_module \
--with-stream \
--with-http_dav_module \
--with-http_gzip_static_module \
--with-http_realip_module \
--with-http_v2_module \
--with-http_stub_status_module && make && make install
cat > /etc/systemd/system/nginx.service << EOF
[Unit]
Description=nginx - web server
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
PIDFile=/Nginx/logs/nginx.pid
ExecStartPre=/Nginx/sbin/nginx -t -c /Nginx/conf/nginx.conf
ExecStart=/Nginx/sbin/nginx -c /Nginx/conf/nginx.conf
ExecReload=/Nginx/sbin/nginx -s reload
ExecStop=/Nginx/sbin/nginx -s stop
PrivateTmp=true
[Install]
WantedBy=multi-user.target
EOF
chmod 755 /etc/systemd/system/nginx.service
systemctl daemon-reload
设置开机启动nginx
systemctl enable nginx
启动Nginx服务
systemctl start nginx
iptables使用下列命令开启:
iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
service iptables save
service iptables restart
firewalld使用下列命令开启:
firewall-cmd --set-default-zone=public
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --reload