安装Nginx
1.安装软件包epel-release并更新,它会帮我们自动配置好yum的软件仓库。
yum -y install epel-release
yum update
2.安装nginx,一般的项目不建议wget下载包编译安装,因为yum安装的服务器貌似有额外整合日志压缩,清理之类的定时任务,还有一些安全设定之类的。
yum -y install nginx
至此nginx就已经安装好了,为了验证是否已经安装成功,我们可以使用如下方法测试。
curl 127.0.0.1
安装成功会输出nginx的默认欢迎页,但此时在外部用ip地址访问会发现访问不了,是因为80端口未开放的原因,只需要开放80端口即可。
如果是云服务器,可以直接去控制台配置安全策略放开80端口,如果是虚拟机可通过以下命令实现。
firewall-cmd --zone=public --add-port=80/tcp --permanent
--zone 作用域
--add-port=80/tcp 端口/通讯协议
--permanent 永久生效,否则重启后失效
设置好后重启防火墙
systemctl restart firewalld.service
到这里我们的nginx就算是安装完成了。
编译安装PHP
1.为了后面能正常进行,首先我们先安装一些会用到的依赖组件。
yum -y install wget vim pcre pcre-devel openssl openssl-devel libicu-devel gcc gcc-c++ autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel ncurses ncurses-devel curl curl-devel krb5-devel libidn libidn-devel openldap openldap-devel nss_ldap jemalloc-devel cmake boost-devel bison automake libevent libevent-devel gd gd-devel libtool* libmcrypt libmcrypt-devel mcrypt mhash libxslt libxslt-devel readline readline-devel gmp gmp-devel libcurl libcurl-devel openjpeg-devel
安装好了之后,需要去官网下载PHP的安装包,版本根据自己需要进行选择,本人选择的版本: php-7.2.23.tar.gz
可以直接在服务器上wget获取,也可以先下载到本地再用lrzsz提供的rz上传到服务器。(需要远程链接的客户端支持才能使用rz)
2.接下来解压我们的安装包
tar -xvf php-7.2.23.tar.gz -C /usr/local/mydir/
后面的路径是我指定的解压路径,也可以不指定,直接解压到当前目录。
3.编译源码,并安装
进入到我们解压的源码目录,通过configure对即将安装的软件进行配置,检查当前的环境是否满足要安装软件的依赖关系
cp -frp /usr/lib64/libldap* /usr/lib/
./configure --prefix=/usr/local/php72 --with-config-file-path=/usr/local/php72/etc --enable-fpm --with-fpm-user=www-data --with-fpm-group=www-data --enable-mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --enable-mysqlnd-compression-support --with-iconv-dir --with-freetype-dir --with-jpeg-dir --with-png-dir --with-zlib --with-libxml-dir --enable-xml --disable-rpath --enable-bcmath --enable-shmop --enable-sysvsem --enable-inline-optimization --with-curl --enable-mbregex --enable-mbstring --enable-intl --with-libmbfl --enable-ftp --with-gd --with-openssl --with-mhash --enable-pcntl --enable-sockets --with-xmlrpc --enable-zip --enable-soap --with-gettext --disable-fileinfo --enable-opcache --with-pear --enable-maintainer-zts --with-ldap=shared --without-gdbm
这里如果你是安装的PHP7.3的话,会报错让重新安装libzip,这里是因为yum安装的libzip版本低了的原因,需要移除已经安装的libzip,重新安装更新版本的libzip,成功的话会生产makefile文件。
4.编译并安装
make -j 4 && make install
-j表示同时允许几个任务
5.配置
cp php.ini-development /usr/local/php72/etc/php.ini```
cp /usr/local/php72/etc/php-fpm.conf.default /usr/local/php72/etc/php-fpm.conf
cp /usr/local/php72/etc/php-fpm.d/www.conf.default /usr/local/php72/etc/php-fpm.d/www.conf
去掉以下两行的注释
;pid = run/php-fpm.pid
;error_log = log/php-fpm.log
确定www.conf中的user和group,用户一定要存在,没有则需添加www-data用户和用户组,否则启动php-fpm会失败。
user = www-data
group = www-data
6.增加php-fpm.service启动脚本
vim /usr/lib/systemd/system/php-fpm.service
[Unit]
Description=The PHP FastCGI Process Manager
After=syslog.target network.target
[Service]
Type=simple
PIDFile=/usr/local/php72/var/run/php-fpm.pid
ExecStart=/usr/local/php72/sbin/php-fpm --nodaemonize --fpm-config /usr/local/php72/etc/php-fpm.conf
ExecReload=/bin/kill -USR2 $MAINPID
[Install]
WantedBy=multi-user.target
增加了脚本之后,就可以通过service命令来进行管理了。
到这里也就完成了Nginx和PHP的安装了。