当前位置:网站首页>Using LNMP to build WordPress sites
Using LNMP to build WordPress sites
2022-07-05 23:00:00 【wwzroom】
utilize LNMP Realization wordpress Site construction
1. Prepare resources
[[email protected]:~]#
cd /usr/local/src
# And then use it lrzsz Realization windows Upload the corresponding file
[[email protected]:/usr/local/src]#
ll
-rw-r--r-- 1 root root 661718255 Sep 1 2021 mysql-5.7.33-linux-glibc2.12-x86_64.tar.gz
-rw-r--r-- 1 root root 1039530 Sep 1 2021 nginx-1.18.0.tar.gz
-rw-r--r-- 1 root root 16866582 Jun 6 17:38 php-7.4.29.tar.gz
-rw-r--r-- 1 root root 21861227 May 31 14:22 wordpress-6.0-zh_CN.tar.gz
2. Write a script
[[email protected]:/usr/local/src]#
vim install_lnmpcentos7.sh
#!/bin/bash
SRC_DIR=/usr/local/src
NGINX='nginx-1.18.0.tar.gz'
MYSQL='mysql-5.7.33-linux-glibc2.12-x86_64.tar.gz'
PHP='php-7.4.29.tar.gz'
APP='wordpress-6.0-zh_CN.tar.gz'
COLOR="echo -e \\033[01;31m"
END='\033[0m'
MYSQL_ROOT_PASSWORD=laowang
MYSQL_WORDPRESS_PASSWORD=laowang
CPU=`lscpu| awk '/^CPU\(s\):/{print $NF}'`
${COLOR}' Start installation based on LNMP Of wordpress'$END
sleep 3
check_file (){
cd $SRC_DIR
$COLOR" Please put the relevant software in ${SRC_DIR} Under the table of contents "$END
if [ ! -e $NGINX ];then
$COLOR" The lack of ${NGINX} file "$END
exit
elif [ ! -e $MYSQL ];then
$COLOR" The lack of ${MYSQL} file "$END
exit
elif [ ! -e $PHP ];then
$COLOR" The lack of ${PHP} file "$END
exit
elif [ ! -e $APP ];then
$COLOR" The lack of ${APP} file "$END
exit
else
$COLOR" Relevant documents are ready "$END
fi
}
install_mysql(){
$COLOR" Start installation MySQL database "$END
cd $SRC_DIR
tar xf $MYSQL -C /usr/local/
if [ -e /usr/local/mysql ];then
$COLOR" Database already exists , Installation failed "$END
exit
fi
MYSQL_DIR=`echo $MYSQL| sed -nr 's/^(.*[0-9]).*/\1/p'`
ln -s /usr/local/$MYSQL_DIR /usr/local/mysql
chown -R root.root /usr/local/mysql/
id mysql &> /dev/null || {
useradd -s /sbin/nologin -r mysql ; $COLOR" establish mysql user "$END; }
yum -y -q install numactl-libs libaio &> /dev/null
echo 'PATH=/usr/local/mysql/bin/:$PATH' > /etc/profile.d/lamp.sh
. /etc/profile.d/lamp.sh
cat > /etc/my.cnf <<-EOF [mysqld] server-id=1 log-bin datadir=/data/mysql socket=/data/mysql/mysql.sock log-error=/data/mysql/mysql.log pid-file=/data/mysql/mysql.pid [client] socket=/data/mysql/mysql.sock EOF
[ -d /data ] || mkdir /data
[ -d /data ] || mkdir /data
mysqld --initialize --user=mysql --datadir=/data/mysql
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
chkconfig --add mysqld
chkconfig mysqld on
service mysqld start
[ $? -ne 0 ] && {
$COLOR" Database startup failed , sign out !"$END;exit; }
MYSQL_OLDPASSWORD=`awk '/A temporary password/{print $NF}' /data/mysql/mysql.log`
mysqladmin -uroot -p$MYSQL_OLDPASSWORD password $MYSQL_ROOT_PASSWORD &>/dev/null
$COLOR" Database installation complete "$END
}
install_nginx(){
${COLOR}" Start installation NGINX"$END
id nginx &> /dev/null || {
useradd -s /sbin/nologin -r nginx; $COLOR" establish nginx user "$END; }
$COLOR" install nginx Related packages "$END
yum -q -y install gcc pcre-devel openssl-devel zlib-devel perl-ExtUtils-Embed git &> /dev/null
cd $SRC_DIR
tar xf $NGINX
# git clone https://github.com/openresty/echo-nginx-module.git || { $COLOR" download NGINX The third-party module failed , sign out !"$END;exit; }
NGINX_DIR=`echo $NGINX| sed -nr 's/^(.*[0-9]).*/\1/p'`
cd $NGINX_DIR
./configure --prefix=/apps/nginx --user=nginx --group=nginx --with-http_ssl_module --with-http_v2_module --with-http_realip_module --with-http_stub_status_module --with-http_gzip_static_module --with-http_perl_module --with-pcre --with-stream --with-stream_ssl_module --with-stream_realip_module
make -j $CPU && make install
[ $? -eq 0 ] && $COLOR"NGINX Compile and install successfully "$END || {
$COLOR"NGINX Compilation and installation failed , sign out !"$END;exit; }
[ -d /data/www ] || mkdir -pv /data/www/
cat > /apps/nginx/conf/nginx.conf <<EOF worker_processes auto; events { worker_connections 10240; } http { include mime.types; default_type application/octet-stream; server_tokens off; log_format main '\$remote_addr - \$remote_user [\$time_local] "\$request" ' sendfile on; client_max_body_size 100m; keepalive_timeout 65; server { listen 80 default_server; server_name localhost ; root /data/www ; access_log logs/nginx.access.log main; location / { root /data/www/; index index.php index.html index.htm; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } location ~ \.php$ { root /data/www; fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME \$document_root\$fastcgi_script_name; include fastcgi_params; } } } EOF
echo 'PATH=/apps/nginx/sbin:$PATH' >> /etc/profile.d/lamp.sh
cat > /usr/lib/systemd/system/nginx.service <<EOF [Unit] After=network.target remote-fs.target nss-lookup.target [Service] Type=forking ExecStart=/apps/nginx/sbin/nginx ExecReload=/apps/nginx/sbin/nginx -s reload ExecStop=/apps/nginx/sbin/nginx -s stop [Install] WantedBy=multi-user.target EOF
systemctl daemon-reload
systemctl start nginx
systemctl is-active nginx &> /dev/null || {
$COLOR"NGINX Boot failure , sign out !"$END ; exit; }
$COLOR"NGINX installation is complete "
}
install_php (){
${COLOR}" Start installation PHP"$END
yum -y -q install gcc make libxml2-devel bzip2-devel libmcrypt-devel libsqlite3x-devel oniguruma-devel &>/dev/null
cd $SRC_DIR
tar xf $PHP
PHP_DIR=`echo $PHP| sed -nr 's/^(.*[0-9]).*/\1/p'`
cd $PHP_DIR
./configure --prefix=/apps/php74 --enable-mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-openssl --with-zlib --with-config-file-path=/etc --with-config-file-scan-dir=/etc/php.d --enable-mbstring --enable-xml --enable-sockets --enable-fpm --enable-maintainer-zts --disable-fileinfo
make -j $CPU && make install
[ $? -eq 0 ] && $COLOR"PHP Compile and install successfully "$END || {
$COLOR"PHP Compilation and installation failed , sign out !"$END;exit; }
cp php.ini-production /etc/php.ini
mkdir /etc/php.d/
cat > /etc/php.d/opcache.ini <<EOF [opcache] zend_extension=opcache.so opcache.enable=1 EOF
cp sapi/fpm/php-fpm.service /usr/lib/systemd/system/
cd /apps/php74/etc
cp php-fpm.conf.default php-fpm.conf
cd php-fpm.d/
cp www.conf.default www.conf
id nginx &> /dev/null || {
useradd -s /sbin/nologin -r nginx; $COLOR" establish nginx user "$END; }
sed -i.bak -e 's/^user.*/user = nginx/' -e 's/^group.*/group = nginx/' /apps/php74/etc/php-fpm.d/www.conf
systemctl daemon-reload
systemctl start php-fpm
systemctl is-active php-fpm &> /dev/null || {
$COLOR"PHP-FPM Boot failure , sign out !"$END ; exit; }
$COLOR"PHP installation is complete "
}
install_wordpress(){
cd $SRC_DIR
tar xf $APP
[ -d /data/www ] || mkdir -pv /data/www
mv wordpress/* /data/www/
chown -R nginx.nginx /data/www/wp-content/
cd /data/www/
mv wp-config-sample.php wp-config.php
mysql -uroot -p"$MYSQL_ROOT_PASSWORD" -e "create database wordpress;grant all on wordpress.* to [email protected]'127.0.0.1' identified by '$MYSQL_WORDPRESS_PASSWORD'" &>/dev/null
sed -i.bak -e 's/database_name_here/wordpress/' -e 's/username_here/wordpress/' -e 's/password_here/'''$MYSQL_WORDPRESS_PASSWORD'''/' -e 's/localhost/127.0.0.1/' wp-config.php
$COLOR"WORDPRESS installation is complete "
}
check_file
install_mysql
install_nginx
install_php
install_wordpress
3. Execute script one click deployment
[[email protected]:/usr/local/src]#
bash install_lnmpcentos7.sh
4. host hosts File to add dns Address resolution
C:\Windows\System32\drivers\etc\hosts Add in 10.0.0.17 blog.wwzroom.org,
5. Access registration login http://blog.wwzroom.org
As shown in the figure below




6. Tips
1. hide PHP edition
[[email protected]:/usr/local/src]#
vim /etc/php.ini
expose_php = off # It's just for you off
[[email protected]:/usr/local/src]#
systemctl restart php-fpm
2. Upload big pictures
1) modify php-fpm The configuration file , Adjust the allowed picture size .
[[email protected]:/usr/local/src]#
vim /etc/php.ini
post_max_size = 20M
upload_max_filesize = 20M
[[email protected]:/usr/local/src]#
systemctl restart php-fpm
2) modify nginx The configuration file ( It has been set in the script , You don't need to set it anymore )
[[email protected]:/usr/local/src]#
vim /apps/nginx/conf/nginx.conf
client_max_body_size 100m;
边栏推荐
- TypeError: this. getOptions is not a function
- Evolution of APK reinforcement technology, APK reinforcement technology and shortcomings
- openresty ngx_ Lua regular expression
- Media query: importing resources
- 如何快速理解复杂业务,系统思考问题?
- Codeforces Global Round 19
- 30 optimization skills about mysql, super practical
- 基于STM32的ADC采样序列频谱分析
- fibonacci search
- Three. Js-01 getting started
猜你喜欢

Negative sampling

链表之双指针(快慢指针,先后指针,首尾指针)

Metaverse ape received $3.5 million in seed round financing from negentropy capital

Leetcode daily question 1189 The maximum number of "balloons" simple simulation questions~

Un article traite de la microstructure et des instructions de la classe

Ultrasonic sensor flash | LEGO eV3 Teaching

利用LNMP实现wordpress站点搭建

Three.js-01 入门

TypeError: this. getOptions is not a function

First, redis summarizes the installation types
随机推荐
【Note17】PECI(Platform Environment Control Interface)
Openresty ngx Lua regular expression
【无标题】
3 find the greatest common divisor and the least common multiple
Hcip day 11 (BGP agreement)
链表之双指针(快慢指针,先后指针,首尾指针)
The method and principle of viewing the last modification time of the web page
Global and Chinese market of diesel fire pump 2022-2028: Research Report on technology, participants, trends, market size and share
查看网页最后修改时间方法以及原理简介
第一讲:蛇形矩阵
分布式解决方案选型
Double pointer of linked list (fast and slow pointer, sequential pointer, head and tail pointer)
Element positioning of Web Automation
MCU case -int0 and INT1 interrupt count
VIM tail head intercept file import
Metaverse ape received $3.5 million in seed round financing from negentropy capital
Nacos installation and service registration
openresty ngx_ Lua regular expression
All expansion and collapse of a-tree
SPSS analysis of employment problems of college graduates