日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

centos7.4安装nginx1.8.1 php7.7.11 安装 MySQL5.7.20

發布時間:2025/3/15 数据库 11 豆豆
生活随笔 收集整理的這篇文章主要介紹了 centos7.4安装nginx1.8.1 php7.7.11 安装 MySQL5.7.20 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

解決依賴關系

yum -y install gcc pcre pcre-devel zlib zlib-devel openssl openssl-devel

nginx源碼下載地址

http://nginx.org/download/

解壓

tar -zxvf nginx-1.8.1.tar.gz

進入目錄

cd nginx-1.8.1

檢測配置

./configure --prefix=/usr/local/nginx --sbin-path=/usr/bin/nginx

--prefix 安裝位置
--sbin-path 執行命令
參考手冊

編譯并安裝

make && make install

啟動nginx

/usr/bin/nginx

查看進程

pstree -p | grep nginx

顯示2個進程 ( 一個主進程 一個工作進程 )

# 所有system的啟動腳本都在此目錄下(每當安裝一個軟件后都在這個目錄下創建一個httpd.service文件) /usr/lib/systemd/system

加入systemctl中管理

[Unit] Description=nginx After=network.target[Service] Type=forking PIDFile=/usr/local/nginx/logs/nginx.pid ExecStart=/usr/bin/nginx ExecStop=/usr/bin/nginx -s stop ExecReload=/usr/bin/nginx -s reload PrivateTmp=true[Install] WantedBy=multi-user.target

重載systemctl配置

systemctl daemon-reload 注釋
想要執行systemctl stop nginx.service 那么nginx的啟動必須用
systemctl start nginx.service
啟動                    停止
/usr/bin/nginx           /usr/bin/nginx -s stop
systemctl stop nginx.service      systemctl start nginx.service ?
安裝php

下載并解壓源碼包

tar zxf php-7.1.11.tar.gz cd php-7.1.11
  • 安裝編譯php所需的依賴包
  • yum install -y gcc gcc-c++ make automake autoconf gd file bison patch mlocate flex diffutils zlib zlib-devel pcre pcre-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel libcurl libcurl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel openssl openssl-devel openldap openldap-devel nss_ldap openldap-clients openldap-servers openldap-devellibxslt-devel kernel-devel libtool-libs readline-devel gettext-devel libcap-devel php-mcrypt libmcrypt libmcrypt-devel recode-devel gmp-devel icu libxslt libxslt-devel
  • 進去源碼目錄配置 ./configure 信息
  • ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-mysql-sock --with-mysqli --with-libxml-dir --with-openssl --with-mcrypt --with-mhash --with-pcre-regex --with-zlib --with-iconv --with-bz2 --with-curl --with-cdb --with-pcre-dir --with-gd --with-openssl-dir --with-jpeg-dir --with-png-dir --with-zlib-dir --with-freetype-dir --with-gettext --with-gmp --with-mhash --with-libmbfl --with-onig --with-pdo-mysql --with-zlib-dir --with-readline --with-libxml-dir --with-xsl --with-pear --enable-fpm --enable-soap --enable-bcmath --enable-calendar --enable-dom --enable-exif --enable-fileinfo --enable-filter --enable-ftp --enable-gd-native-ttf --enable-gd-jis-conv --enable-json --enable-mbstring --enable-mbregex --enable-mbregex-backtrack --enable-pdo --enable-session --enable-shmop --enable-simplexml --enable-sockets --enable-sysvmsg --enable-sysvsem --enable-sysvshm --enable-wddx --enable-zip --enable-mysqlnd-compression-support
  • 編譯 安裝
  • make && make install
  • 啟動php-fpm
  • /usr/local/php/sbin/php-fpm

    如果不知道啟動命令在哪可以

    find / -name php-fpm 啟動提示錯誤: [09-Nov-2017 08:49:40] ERROR: failed to open configuration file '/usr/local/php/etc/php-fpm.conf': No such file or directory (2) [09-Nov-2017 08:49:40] ERROR: failed to load configuration file '/usr/local/php/etc/php-fpm.conf' [09-Nov-2017 08:49:40] ERROR: FPM initialization failed

    意思是 提示找不到 php-fpm.conf
    到/usr/local/php/etc目錄下 將php-fpm.conf.default 復制一份出來

    cp php-fpm.conf.default php-fpm.conf

    php-fpm.conf只是php的主配置文件 還要到php-fpm.d目錄下將默認的www.conf.default也復制一份為www.conf

  • 再次啟動
  • /usr/local/php/sbin/php-fpm

    無任何提示輸出
    查看是否運行成功

    pstree -p | grep php
  • 將php-fpm加入到system中管理
  • # 所有system的啟動腳本都在此目錄下 /usr/lib/systemd/system

    創建php-fpm.service文件
    文件內容如下

    [Unit] Description=php-fpm After=network.target[Service] Type=forking PIDFile=/run/php-fpm.pid ExecStart=/usr/local/php/sbin/php-fpm ExecStop=/usr/bin/pkill -9 php-fpm PrivateTmp=true[Install] WantedBy=multi-user.target

    重載systemctl配置

    systemctl daemon-reload

    這樣就可以使用systemctl命令管理php-fpm了
    systemctl start php-fpm.service
    systemctl stop php-fpm.service

    ?

    Mysql 安裝

  • 下載軟件包
  • # 下載 mysql-5.7.20 wget http://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.20.tar.gz # 解壓 tar xzf mysql-5.7.20.tar.gz # 移動 ( 移動到你要安裝的位置 ) mv /root/mysql-5.7.20 /usr/local/mysql # MySQL從5.7開始必須安裝boost庫才行 # 如果未安裝cmake時可能會報錯誤 # CMake Error at cmake/boost.cmake:81 (MESSAGE) # 下載 boost_1_59_0 wget http://sourceforge.net/projects/boost/files/boost/1.59.0/boost_1_59_0.tar.gz # 解壓 tar xzf boost_1_59_0.tar.gz # 將解壓后的包拷貝到mysql安裝目錄下的boost目錄下 ( 自行創建boost ) cp -R boost_1_59_0 /usr/local/mysql/boost/
  • 處理依賴關系
  • yum install cmake cmake-gui gcc-c++ ncurses-devel
  • cmake構建mysql ?下面的操作必須在mysql目錄下
  • cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql/ -DMYSQL_DATADIR=/data/mysql/ -DSYSCONFDIR=/etc/ -DWITH_BOOST=/usr/local/mysql/boost/ # 安裝目錄 CMAKE_INSTALL_PREFIX # 數據目錄 MYSQL_DATADIR # 配置文件目錄 SYSCONFDIR # 指定boost庫的位置 WITH_BOOST # cmake時遇到的錯誤 錯誤1: CMake Error: your C compiler: "CMAKE_C_COMPILER-NOTFOUND" was not found. Please set CMAKE_C_COMPILER to a valid compiler path or name. 解決: // 安裝gcc yum install gcc-c++ 錯誤2: CMake Error at cmake/readline.cmake:64 (MESSAGE): Curses library not found. Please install appropriate package, remove CMakeCache.txt and rerun cmake.On Debian/Ubuntu, package name is libncurses5-dev, on Redhat and derivates it is ncurses-devel 解決: yum install ncurses-devel 解除錯誤后刪除 CMakeCache.txt 在重新cmake
    // 添加mysql用戶 useradd -s /sbin/nologin mysql // 創建mysql數據存放目錄 mkdir -p /data/mysql // 給予目錄權限 chown -R mysql:mysql /data/mysql
  • 編譯并安裝
  • make make install # mysql 編譯時間較長建議make和make install分開執行 # mysql 編譯非常消耗內存 如果內存較小可能無法編譯通過 # 之前1G內存的阿里云編譯到30%左右就掛了 換4G內存機器才編譯通過 # 目測編譯MySQL5.7.20至少要2G的內存 ( 未測試 )
  • 安裝完成后 初始化MySQL
  • /usr/local/mysql/bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql --datadir=/data/mysql # 生成MySQL臨時密碼 --initialize # 指定運行MySQL的用戶 --user=mysql # 指定MySQL的安裝目錄 --basedir=/usr/local/mysql # 指定MySQL的數據目錄 --datadir=/data/mysql # 初始化成功 A temporary password is generated for root@localhost: 5-h1Bbf*EQwk 臨時密碼: 5-h1Bbf*EQwk
  • 啟動MySQL
  • # MySQL默認啟動命令在 /usr/local/mysql/support-files/mysql.server # 拷貝一個出來 cp /usr/local/mysql/support-files/mysql.server /usr/local/mysql/mysqld # 啟動MySQL /usr/local/mysql/mysqld start # 啟動報錯 錯誤1: MySQL.2017-11-09T09:27:48.949025Z mysqld_safe error: log-error set to '/var/log/mariadb/mariadb.log', however file don't exists. Create writable for user 'mysql'. 解決: 猜測可能是日志文件沒有權限 直接去修改MySQL配置文件 /etc/my.cnf 修改 log-error 位置 并給予日志文件權限 在 mysql 目錄下創建了 log 存在錯誤日志 mkdir log chown mysql:mysql log 錯誤2: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2) 解決: 首先查看 /var/lib/mysql/ 下是否有 mysql.sock 然后建立軟連接到 /tmp/ 下 ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock mysql.sock 的位置在my.cnf中也有配置 再次啟動 /usr/local/mysql/mysqld start 啟動成功
  • 連接MySQL
  • /usr/local/mysql/bin/mysql -h localhost -uroot -p # 密碼是初始化的 : 5-h1Bbf*EQwk # 登陸成功 執行 show databases; 直接報錯了 提示必須修改初始密碼 # 修改密碼 set password for root@localhost = password('MaShen666'); # 刷新權限 flush privileges; # 再次執行 show databases; 成功
  • MySQL加入到systemctl中管理
  • # mysql.service systemctl daemon-reload [Unit] Description=mysql After=network.target [Service] Type=forking PIDFile=/usr/local/mysql/pid/mysql.pid ExecStart=/usr/local/mysql/mysqld start ExecStop=/usr/local/mysql/mysqld stop ExecRestart=/usr/local/mysql/mysqld restart ExecStatus=/usr/local/mysql/mysqld status PrivateTmp=true [Install] WantedBy=multi-user.target

    重載systemctl配置

    systemctl daemon-reload
    總結
  • MySQL5.7 必須安裝boost庫 這里折騰好久
  • 初始化和5.7版本之前不同了
  • 編譯時如果內存較小可能無法編譯完成
  • 安裝后啟動MySQL時報的錯誤多數為權限問題
  • 如果不修改初始密碼無法操作MySQL
  • 轉載于:https://www.cnblogs.com/xin-jun/p/7833556.html

    總結

    以上是生活随笔為你收集整理的centos7.4安装nginx1.8.1 php7.7.11 安装 MySQL5.7.20的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。