CentOS 7 上安装 Nginx
系统设置和依赖软件安装
首先是系统的安装。我安装的时候使用的是 minimal 的系统版本,所以在系统安装完成之后,需要额外安装一些程序。在你使用的版本中,可能不需要某些步骤。
- 更新系统,包括软件和内核
sudo yum update -y
- 安装 gcc 和 gcc-c++,以便后续可以通过 source 安装其他程序
sudo yum install gcc gcc-c++ -y
- 配置系统的语言设置 locale。这里的 vim 也是要先安装一下的(也可以用自带的 vi)
这一步根据实际情况来操作。我安装系统的时候选择的 locale 是 en_US.UTF-8,但是用 locale 命令查看环境变量的时候,LC_CTYPE 和 LC_ALL 的值是错误的。不设置好会影响到后面软件的安装
sudo vim /etc/sysconfig/i18n
LANG=en_US.UTF-8
LC_CTYPE=en_US.UTF-8
LC_ALL=en_US.UTF-8
sudo source /etc/sysconfig/i18n
获取软件 Source 并安装
安装 nginx 的顺序是,先要安装 pcre (not pcre2),zlib,openssl,然后再安装 nginx。
pcre - Perl Compatible Regular Expressions 以及 zlib 可以从官网下载,openssl 系统自带或者可以用过 yum 安装。
nginx 可以通过http://mirrors.sohu.com/nginx/,速度快。
安装时,我都选择了最新版本进行安装。
简单说明一下如何从 source 安装 pcre(选择 /src/local 作为安装位置)
cd /usr/local
# get source tarball,获取源码
# sudo curl https://ftp.pcre.org/pub/pcre/pcre-8.41.tar.gz -o pcre.tar.gz
sudo wget https://ftp.pcre.org/pub/pcre/pcre-8.41.tar.gz
sudo tar -xzvf pcre-8.41.tar.gz
cd pcre-8.41
sudo ./configure
sudo make && make install
之后以同样的方式安装 zlib
接下来安装 nginx,与前两个软件不一样的,是我们会将其安装到 /usr/local/nginx 目录下
cd /usr/local
sudo tar -xzvf nginx-1.13.6.tar.gz
cd nginx-1.13.6
sudo ./configure --prefix=/usr/local/nginx --with-pcre=/usr/local/pcre-8.41 --with-zlib=/usr/local/zlib-1.2.11
sudo make && make install
以上过程如果没有遇到问题的话,nginx 就已经安装成功了。
你可以使用浏览器访问该 CentOS 的 IP 来查看,或者在 CentOS 上简单的查看一下。
cd /tmp
curl http://localhost
设置启动脚本
停止 nginx 服务,并修改 /usr/local/nginx/conf/nginx.conf 文件中的 pid 设置
pid /var/run/nginx/pid
从官网获取一份 init script,保存为 /etc/init.d/nginx
修改其中 nginx 可执行文件以及 nginx.conf 的路径
nginx="/usr/local/nginx/sbin/nginx"
NGINX_CONF_FILE="/usr/local/nginx/conf/nginx.conf"
sudo chmod +x /etc/init.d/nginx
# manage nginx via systemctl
sudo systemctl start nginx
当然这个只是最最简单的环境,接下来就是考虑 nginx 如何配置、管理,以及服务器的防火墙设置等等。
如果你在尝试上面步骤的时候遇到什么问题,可以留言一起研究。