接上篇,本片安装Nginx,最后顺便说下yum安装MariaDB(MySQL)和PHP调用MySQL时注意事项。

准备

假设开始目录是/home

更新yum

yum update -y

安装所需依赖

yum -y install gcc gcc-c++ automake pcre pcre-devel zlib zlib-devel openssl openssl-devel gd-devel    

如果已经按照上一篇安装过php的,只需安装以下所需依赖

yum -y install gcc gcc-c++ automake pcre pcre-devel 

下载Nginx源码包

wget wget https://nginx.org/download/nginx-1.16.1.tar.gz

解压并进入文件夹

tar -zxvf ./nginx-1.16.1.tar.gz
cd nginx-1.16.1.tar.gz

安装&&测试

配置Nginx,确保已经创建--user--group值所指定的用户和组

./configure \
  --sbin-path=/usr/sbin/nginx \
  --conf-path=/etc/nginx/nginx.conf \
  --error-log-path=/var/log/nginx/error.log \
  --http-log-path=/var/log/nginx/access.log \
  --pid-path=/var/run/nginx/nginx.pid  \
  --lock-path=/var/lock/nginx.lock \
  --user=www \
  --group=www \
  --with-http_ssl_module \
  --with-http_flv_module \
  --with-http_stub_status_module \
  --with-http_gzip_static_module \
  --with-pcre \
  --with-http_image_filter_module

安装

make && make install

直接通过nginx启动测试,查看是否启动成功,可以通过直接访问服务器ip、查看进程、端口占用三种方式。

# 查看进程
ps -aux | grep nginx

# 查看端口占用 默认80 
netstat -tunlp | grep 80

确认没问题后先把Nginx关掉

pkill -9 nginx

配置systemctl服务

创建配置文件

touch /usr/lib/systemd/system/nginx.service

写入以下内容

[Unit]
Description=The nginx HTTP and reverse proxy server
After=network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
PIDFile=/var/run/nginx/nginx.pid
# Nginx will fail to start if /run/nginx.pid already exists but has the wrong
# SELinux context. This might happen when running `nginx -t` from the cmdline.
# https://bugzilla.redhat.com/show_bug.cgi?id=1268621
ExecStartPre=/usr/bin/rm -f /var/run/nginx/nginx.pid
ExecStartPre=/usr/sbin/nginx -t
ExecStart=/usr/sbin/nginx
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
TimeoutStopSec=5
KillMode=process
PrivateTmp=true

[Install]
WantedBy=multi-user.target

新增服务配置文件后需让systemctl重新加载

systemctl daemon-reload

启动并查看服务运行状态

systemctl start nginx.service
systemctl status nginx.service

MariaDB(MySQL)

这个怎么简单怎么来,反正公司一般都上云的。

yum安装

yum install mariadb mariadb-server

启动并查看服务运行状态

systemctl start mariadb.service
systemctl status mariadb.service

PHP PDO调用MySQL注意事项
如果在PHP编译安装的配置步骤没有正确指定with-mysql-sock`值的话,在PHP使用PDO连接MySQL的话会报错。
而该配置项的值是指定mysql.sock文件,我们先看看with-mysql-sock的官方解释:

Optionally, the --with-mysql-sock[=DIR] sets to location to the MySQL unix socket pointer for all MySQL extensions, including PDO_MYSQL. If unspecified, the default locations are searched.

其实MySQL如果在PHP之前安装且PHP的配置步骤没有带上with-mysql-sock的话是会自动搜索mysql.sock的位置。
以防万一还是先到php.ini确认下配置项pdo_mysql.default_socket=
如果是yum安装MariaDB的话, mysqlq.sock位置为/var/lib/mysql/mysql.sock

标签: none

添加新评论