Instalação do Nginx a partir do Código Fonte
Pré-requisitos
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
Dependências Necessárias
yum -y install pcre-devel zlib-devel gcc gcc-c++ make
Criação de Usuário Dedicado
useradd -M -s /sbin/nologin serv_nginx
Proceso de Compilação
cd /opt
tar zxvf nginx-1.12.0.tar.gz
cd nginx-1.12.0/
./configure \
--prefix=/usr/local/nginx \
--user=serv_nginx \
--group=serv_nginx \
--with-http_stub_status_module
make && make install
Configuração do Serviço
ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/
vim /etc/systemd/system/nginx.service
[Unit]
Description=Servidor Nginx
After=network.target
[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
[Install]
WantedBy=multi-user.target
systemctl enable --now nginx.service
Instalação do MySQL a partir do Código Fonte
Dependências Essenciais
yum -y install ncurses ncurses-devel bison cmake
Usuário Dedicado
useradd -M -s /sbin/nologin dbuser
Compilação e Instalação
cd /opt
tar zxvf mysql-boost-5.7.20.tar.gz
cd mysql-5.7.20/
cmake \
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/usr/local/mysql/mysql.sock \
-DSYSCONFDIR=/etc \
-DENABLED_LOCAL_INFILE=ON \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci
make && make install
Configuração e Inicialização
chown -R dbuser:dbuser /usr/local/mysql/
echo 'export PATH=/usr/local/mysql/bin:$PATH' >> /etc/profile
source /etc/profile
/usr/local/mysql/bin/mysqld --initialize --user=dbuser --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
cp /usr/local/mysql/usr/lib/systemd/system/mysqld.service /usr/lib/systemd/system/
systemctl enable --now mysqld
mysqladmin -u root password 'senhaSegura'
Configuração do Ambiente PHP
Instalação de Dependências
yum -y install gd libjpeg-devel libpng-devel freetype-devel libxml2-devel zlib-devel curl-devel openssl-devel
Compilação do PHP
cd /opt
tar jxvf php-7.1.10.tar.bz2
cd php-7.1.10
./configure \
--prefix=/usr/local/php \
--with-mysqli \
--with-openssl \
--enable-fpm \
--enable-mbstring
make && make install
Integração com Nginx
vim /usr/local/nginx/conf/nginx.conf
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
systemctl restart nginx
Implantação do Discuz! Forum
unzip Discuz_X3.4_SC_UTF8.zip -d /opt/discuz
cp -r /opt/discuz/upload/ /usr/local/nginx/html/forum/
chown -R serv_nginx:serv_nginx /usr/local/nginx/html/forum/
chmod -R 770 /usr/local/nginx/html/forum/config/ /usr/local/nginx/html/forum/data/
Otimização de Parâmetros do PHP-FPM
vim /usr/local/php/etc/php-fpm.d/www.conf
pm = dynamic
pm.max_children = 25
pm.start_servers = 8
pm.min_spare_servers = 5
pm.max_spare_servers = 15
systemctl restart php-fpm