Centos 7 Nginx + PHP 安装步骤

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 2核4GB
简介:

Centos 7 下的 PHP7/Nginx/Memcached 安装步骤。对的,没有Mysql,有RDS懒得装Mysql了。

一、获取相关开源程序

1、安装环境所需的程序库

sudo -s
LANG=C
yum -y update
yum remove mariadb*
yum -y install patch make cmake gcc gcc-c++ bison flex file libtool libtool-libs autoconf kernel-devel libjpeg libjpeg-devel libpng libpng-devel gd gd-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel libidn libidn-devel gmp-devel gettext gettext-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers vim-minimal nano  gmp-devel unzip libcap diffutils readline-devel libxslt libxslt-devel ntp wget ctags libedit libedit-devel libaio git mailx jwhois bind-utils systemd systemd-devel libtidy libtidy-devel
yum -y install supervisor
yum -y install memcached

2、准备环境变量

echo -e "/lib64\n/usr/lib64\n/usr/local/lib64\n/lib\n/usr/lib\n/usr/local/lib\n`cat /etc/ld.so.conf`" > /etc/ld.so.conf
/sbin/ldconfig

3、下载程序源码包

cd /usr/local/src
wget http://7xk96f.com1.z0.glb.clouddn.com/software/libiconv/libiconv-1.15.tar.gz
wget -O php-7.1.5.tar.gz http://cn2.php.net/get/php-7.1.5.tar.gz/from/this/mirror
wget http://7xk96f.com1.z0.glb.clouddn.com/software/mcrypt/libmcrypt-2.5.8.tar.gz
wget http://7xk96f.com1.z0.glb.clouddn.com/software/mcrypt/mcrypt-2.6.8.tar.gz
wget http://7xk96f.com1.z0.glb.clouddn.com/software/mhash/mhash-0.9.9.9.tar.gz
wget http://7xk96f.com1.z0.glb.clouddn.com/software/icu/icu4c-58_2-src.tgz
wget http://7xk96f.com1.z0.glb.clouddn.com/software/libmemcached/libmemcached-1.0.18.tar.gz
wget http://7xk96f.com1.z0.glb.clouddn.com/software/pcre/pcre-8.40.tar.gz
wget http://7xk96f.com1.z0.glb.clouddn.com/software/openssl/openssl-1.1.0e.tar.gz
wget http://7xk96f.com1.z0.glb.clouddn.com/software/nginx/nginx-1.13.0.tar.gz
wget http://pecl.php.net/get/msgpack-2.0.2.tgz
wget http://pecl.php.net/get/igbinary-2.0.1.tgz
wget http://pecl.php.net/get/memcached-3.0.3.tgz
wget http://pecl.php.net/get/redis-3.1.2.tgz
wget http://pecl.php.net/get/swoole-2.0.7.tgz

二、安装PHP 7(FastCGI模式)

1、编译安装PHP 7 所需的支持库:

tar zxf libiconv-1.15.tar.gz
cd libiconv-1.15/
./configure --prefix=/usr
make && make install
cd ../

tar zxf libmcrypt-2.5.8.tar.gz
cd libmcrypt-2.5.8/
./configure --prefix=/usr
make && make install
ldconfig
cd libltdl/
./configure --prefix=/usr  --enable-ltdl-install
make && make install
cd ../../

tar zxf mhash-0.9.9.9.tar.gz
cd mhash-0.9.9.9/
./configure --prefix=/usr
make && make install
cd ../

tar zxf mcrypt-2.6.8.tar.gz && cd mcrypt-2.6.8/
/sbin/ldconfig
./configure --prefix=/usr
make && make install
cd ../

tar zxf icu4c-58_2-src.tgz && cd icu/source/
./configure --prefix=/usr
make && make install
cd ../../

tar zxf openssl-1.1.0e.tar.gz && cd openssl-1.1.0e
./config --prefix=/usr/local/ssl shared zlib-dynamic
make && make install
echo /usr/local/ssl/lib > /etc/ld.so.conf.d/openssl-x86_64.conf
/sbin/ldconfig
cd ../

2、编译安装PHP(FastCGI模式)

tar zxf php-7.1.5.tar.gz
cd php-7.1.5/
./configure --prefix=/usr/local --mandir=/usr/local/share/man --infodir=/usr/local/share/info --sysconfdir=/usr/local/etc --with-config-file-path=/usr/local/etc --with-config-file-scan-dir=/usr/local/etc/php --with-libxml-dir \
--with-openssl=/usr/local/ssl --with-kerberos --with-zlib --enable-bcmath --with-bz2 --enable-calendar --with-curl --enable-exif --enable-fpm --enable-ftp --with-png-dir --with-gd --with-jpeg-dir --enable-gd-native-ttf --with-icu-dir=/usr --enable-mbstring --enable-mbregex --enable-shmop --enable-soap --enable-sockets --enable-sysvmsg --enable-sysvsem --enable-sysvshm --enable-wddx --with-xmlrpc --with-libedit \
--with-iconv-dir=/usr/local --with-xsl --enable-zip --with-pcre-regex --with-pcre-jit --with-freetype-dir --enable-xml  --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-pdo-sqlite --with-sqlite3 --disable-rpath --enable-inline-optimization --with-mcrypt --with-mhash --enable-pcntl --enable-sockets --without-pear --with-gettext --enable-fileinfo --enable-intl --enable-opcache --enable-cli --with-gmp --with-tidy --with-pcre-dir --with-readline --with-fpm-systemd --with-zlib-dir
make ZEND_EXTRA_LIBS='-liconv'
make install

cp php.ini-production /usr/local/etc/php.ini
cp /usr/local/etc/php-fpm.conf.default /usr/local/etc/php-fpm.conf
cp sapi/fpm/php-fpm.service /usr/lib/systemd/system/php-fpm.service
systemctl enable php-fpm.service

3、编译安装PHP扩展模块

tar -zxvf libmemcached-1.0.18.tar.gz
cd libmemcached-1.0.18
./configure --prefix=/usr
make && make install
cd ../

tar zxf msgpack-2.0.2.tgz
cd msgpack-2.0.2
phpize
./configure
make && make install
cd ../

tar zxf igbinary-2.0.1.tgz
cd igbinary-2.0.1
phpize
./configure
make && make install
cd ../

tar zxf memcached-3.0.3.tgz
cd memcached-3.0.3
phpize
./configure --enable-memcached-igbinary --enable-memcached-json --enable-memcached-msgpack
make && make install
cd ../

tar zxf redis-3.1.2.tgz
cd  redis-3.1.2
phpize
./configure
make && make install
cd ../

tar zxf swoole-2.0.7.tgz
cd swoole-2.0.7
phpize
./configure  --enable-coroutine
make && make install
cd ../

三、安装Nginx

1、安装Pcre库

tar zxf pcre-8.40.tar.gz
cd pcre-8.40/
./configure --prefix=/usr --enable-utf8
make && make install
cd ../

2、安装Nginx

tar zxf nginx-1.13.0.tar.gz
cd nginx-1.13.0/

#using system OpenSSL
yum -y install openssl openssl-devel
./configure --prefix=/usr/local --conf-path=/usr/local/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-client-body-temp-path=/var/lib/nginx/body --http-fastcgi-temp-path=/var/lib/nginx/fastcgi --http-log-path=/var/log/nginx/access.log --http-proxy-temp-path=/var/lib/nginx/proxy --lock-path=/run/lock/nginx.lock --pid-path=/run/nginx.pid \
--with-http_ssl_module --with-http_v2_module --with-http_image_filter_module --with-http_xslt_module --with-http_realip_module --with-http_stub_status_module \
--with-pcre-jit --with-http_flv_module --with-http_mp4_module --with-http_addition_module \
--with-threads --with-http_ssl_module --with-http_gzip_static_module --without-mail_imap_module --without-mail_pop3_module --without-mail_smtp_module \
--without-http_uwsgi_module --without-http_scgi_module --without-select_module \
--with-cc-opt='-O2'

#use customize OpenSSL
sed -i "s#/.openssl##g" auto/lib/openssl/conf
./configure --prefix=/usr/local --conf-path=/usr/local/etc/nginx/nginx.conf --error-log-path=/var/log/nginx/error.log --http-client-body-temp-path=/var/lib/nginx/body --http-fastcgi-temp-path=/var/lib/nginx/fastcgi --http-log-path=/var/log/nginx/access.log --http-proxy-temp-path=/var/lib/nginx/proxy --lock-path=/run/lock/nginx.lock --pid-path=/run/nginx.pid \
--with-http_ssl_module --with-http_v2_module --with-http_image_filter_module --with-http_xslt_module --with-http_realip_module --with-http_stub_status_module \
--with-pcre-jit --with-http_flv_module --with-http_mp4_module --with-http_addition_module \
--with-threads --with-http_ssl_module --with-http_gzip_static_module --without-mail_imap_module --without-mail_pop3_module --without-mail_smtp_module \
--without-http_uwsgi_module --without-http_scgi_module --without-select_module \
--with-openssl=/usr/local/ssl \
--with-cc-opt='-O2'

make && make install
cd ../
mkdir /var/log/nginx
mkdir /var/lib/nginx

四、收尾

1、添加www用户

/usr/sbin/groupadd www
/usr/sbin/useradd -M -g www www

2、优化内核

#for aliyun
cat >>/etc/security/limits.conf<<eof
* soft nproc 65535
* hard nproc 65535
eof

#other
cat >>/etc/security/limits.conf<<eof
* soft nproc 65535
* hard nproc 65535
* soft nofile 65535
* hard nofile 65535
eof

echo "fs.file-max=65535" >> /etc/sysctl.conf

3、设置开机启动

systemctl enable nginx.service
systemctl enable php-fpm.service
systemctl enable memcached.service
systemctl enable supervisord.service
相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
3月前
|
应用服务中间件 Linux 网络安全
如何在 CentOS 7 上为 Nginx 创建自签名 SSL 证书
如何在 CentOS 7 上为 Nginx 创建自签名 SSL 证书
183 1
|
30天前
|
tengine 应用服务中间件 Linux
Tengine、Nginx安装PHP命令教程
要在阿里云Linux上安装PHP,请先更新YUM源并启用PHP 8.0仓库,然后安装PHP及相关扩展。通过`php -v`命令验证安装成功后,需修改Nginx配置文件以支持PHP,并重启服务。最后,创建`phpinfo.php`文件测试安装是否成功。对于CentOS系统,还需安装EPEL源和Remi仓库,其余步骤类似。完成上述操作后,可通过浏览器访问`http://IP地址/phpinfo.php`测试安装结果。
|
25天前
|
应用服务中间件 Linux nginx
CentOS7安装Nginx
CentOS7安装Nginx
|
29天前
|
监控 应用服务中间件 nginx
详细解释容器以及虚拟机centos7.9容器化部署基础服务(容器化部署nginx)
容器是一种轻量级、可移植的软件打包和隔离技术,将应用程序及其依赖项打包,确保在任何环境中一致运行。容器共享主机操作系统内核,相比虚拟机更高效、轻量,具有快速启动和高资源利用率的特点。容器的关键技术包括命名空间(如 PID、NET 等)、控制组(cgroups)和联合文件系统(UnionFS)。使用容器可以提高开发和部署效率,简化管理,确保环境一致性。例如,在 CentOS 7.9 上部署 Nginx 时,可以通过 Docker 下载和运行 `nginx:1.20` 镜像,并通过端口映射使外部请求访问 Nginx 服务。此外,还可以将测试页面复制到容器中,进一步验证容器的功能。
|
3月前
|
应用服务中间件 Linux 网络安全
2022年超详细在CentOS 7上安装Nginx方法(源码安装)
这篇文章提供了在CentOS 7系统上通过源码安装Nginx的详细步骤,包括从官网下载Nginx源码包、上传至虚拟机、解压、删除压缩包、编译安装前的配置、安装PCRE库(因为Nginx使用PCRE库解析正则表达式)、安装zlib和OpenSSL库(用于支持HTTPS协议)、重新编译Nginx、安装后启动Nginx服务、关闭服务、修改默认端口、以及重启服务测试等步骤。文章还提供了相关命令和操作截图,帮助用户更好地理解和执行安装过程。
2022年超详细在CentOS 7上安装Nginx方法(源码安装)
|
3月前
|
Linux PHP
Linux CentOS 宝塔 Suhosin禁用php5.6版本eval函数详细图文教程
【8月更文挑战第27天】本文介绍两种禁用PHP执行的方法:使用`PHP_diseval_extension`禁用和通过`suhosin`禁用。由于`suhosin`不支持PHP8,仅适用于PHP7及以下版本,若服务器安装了PHP5.6,则需对应安装`suhosin-0.9.38`版本。文章提供了详细的安装步骤,并强调了宝塔环境下与普通环境下的PHP路径差异。安装完成后,在`php.ini`中添加`suhosin.so`扩展并设置`executor.disable_eval = on`以禁用执行功能。最后通过测试代码验证是否成功禁用,并重启`php-fpm`服务生效。
35 2
|
3月前
|
应用服务中间件 Linux nginx
在CentOS上使用源码包安装Nginx、以及手动启动Nginx的步骤过程
这篇文章介绍了在CentOS系统上使用Nginx源码包进行安装和配置的详细步骤,包括源码包的获取、解压、配置、编译、安装、启动验证以及注意事项。
307 0
在CentOS上使用源码包安装Nginx、以及手动启动Nginx的步骤过程
|
3月前
|
应用服务中间件 Linux PHP
Linux搭建tengine2.0<Nginx>+php7环境
本文介绍了在Linux系统上搭建Tengine 2.0(一个Nginx的增强版本)和PHP 7环境的详细步骤,包括创建安装目录、下载源码包及依赖库、编译安装Nginx、配置Nginx、安装PHP及其依赖、设置PHP-FPM、配置环境变量、安装Git和Composer,以及服务管理和日志查看等。
80 0
|
3月前
|
Ubuntu 应用服务中间件 Linux
如何在Ubuntu 14.04上使用Nginx和Php-fpm安全地托管多个网站
如何在Ubuntu 14.04上使用Nginx和Php-fpm安全地托管多个网站
23 0
|
3月前
|
应用服务中间件 Linux 网络安全
如何在 CentOS 6.5 上使用 Unicorn 和 Nginx 部署 Rails 应用
如何在 CentOS 6.5 上使用 Unicorn 和 Nginx 部署 Rails 应用
41 0