參考:https://www.cnblogs.com/phpshangxiaobai/p/10864525.html
(php7.3.5 + nginx1.16 + mysql8)
1、准備
#新建目錄,/lnmp/php7、/lnmp/nginx
mkdir -p /lnmp/php7
mkdir /lnmp/nginx
#安裝依賴
yum install gcc gcc-c++ automake pcre pcre-devel zlip zlib-devel openssl openssl-devel libxml2-devel libpng-devel curl-devel numactl
2、安裝nginx
cd /lnmp
yum -y install wget #安裝wget
wget http://nginx.org/download/nginx-1.16.0.tar.gz #下載nginx
tar xvf nginx-1.16.0.tar.gz #解壓
cd nginx-1.16.0
./configure --prefix=/lnmp/nginx --with-http_ssl_module #安裝到/lnmp/nginx
make && make install #編譯&安裝
cp /lnmp/nginx/sbin/nginx /usr/bin/
nginx #開啟
nginx -s stop #關閉
nginx -s reload #平滑重啟
安裝后可能會遇到的問題
#nginx配置位置:/lnmp/nginx/conf/nginx.conf
#站點目錄位置:/lnmp/nginx/html
#搭好后,本地無法訪問
#關閉防火牆
sudo systemctl stop firewalld
#允許訪問80端口
/sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT
#此時就可以訪問了
4、安裝php
cd /lnmp
wget https://www.php.net/distributions/php-7.3.5.tar.gz
tar xvf php-7.3.5.tar.gz
cd php-7.3.5
./configure --prefix=/lnmp/php7 --enable-fpm --with-mysqli --with-curl --with-pdo_mysql --with-pdo_sqlite --enable-mysqlnd --enable-mbstring --with-gd
make && make install
cp php.ini-development /lnmp/php7/lib/php.ini
cd /lnmp/php7/etc/
#重命名
mv php-fpm.conf.default php-fpm.conf
mv php-fpm.d/www.conf.default php-fpm.d/www.conf
cp /lnmp/php7/sbin/php-fpm /usr/bin/
#修改配置文件php.ini,(/lnmp/php7/lib/php.ini)
cgi.fix_pathinfo=0
php-fpm #開啟
killall php-fpm #關閉
安裝后可能會遇到的問題
#訪問php文件,變成下載
vi /lnmp/nginx/conf/nginx.conf
#找到下面這段,將注釋去掉
###
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
#fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
###
#訪問php文件,出現No input file specified
將上面的location ~ \.php$ {...}
fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
替換為
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
#保存重啟nginx
nginx -s reload
5、安裝mysql
cd /lnmp
#下載
wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.18-linux-glibc2.12-x86_64.tar.xz
#解壓
tar -Jxf mysql-8.0.18-linux-glibc2.12-x86_64.tar.xz
#移到lnmp目錄,重命名mysql
mv mysql-8.0.18-linux-glibc2.12-x86_64 /lnmp/mysql
cd /lnmp/mysql
mkdir data #用於存放數據
#創建mysql用戶組和mysql用戶
groupadd mysql
useradd -g mysql mysql
#修改mysql目錄權限
chown -R mysql.mysql /lnmp/mysql/
#初始化
bin/mysqld --initialize --user=mysql --basedir=/lnmp/mysql --datadir=/lnmp/mysql/data
#初始化后,出現一大串,最后面的為臨時密碼
xxx xxx xxx A temporary password is generated for root@localhost: mhr#qEJO+7?h
#修改配置文件
vim /etc/my.cnf
###
[mysqld]
basedir = /lnmp/mysql
datadir = /lnmp/mysql/data
socket = /tmp/mysql/mysql.sock
character-set-server=utf8
port = 3306
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
[client]
socket = /tmp/mysql/mysql.sock
default-character-set=utf8
###
#新建&修改目錄權限
mkdir -p /tmp/mysql/
chmod -R 777 /tmp/mysql
chown -R mysql:mysql /tmp/mysql/
#配置mysql服務
cp -a ./support-files/mysql.server /etc/init.d/mysqld
chmod +x /etc/rc.d/init.d/mysqld
chkconfig --add mysqld
#配置全局環境變量
vim /etc/profile
#profile文件中添加
###
export PATH=$PATH:/lnmp/mysql/bin:/lnmp/mysql/lib
export PATH
###
#讓環境變量設置立即生效
source /etc/profile
#啟動mysql
service mysqld start
#登錄mysql
mysql -uroot -pmhr#qEJO+7?h
#修改密碼
alter user 'root'@'localhost' identified by 'root';