阿里雲服務器ECS搭建LNMP

購買阿里雲服務後搭建服務器

安裝 nginx

1  http://nginx.org/en/download.html  下載nginx的最新版

2 解壓nginx安裝包 tar -xzf nginx-1.9.3.tar.gz

3 進入 nginx-1.9.3

4 安裝 zlib庫
# sudo apt-get install zlib1g-dev  // Ubuntu
# sudo yum install zlib-devel      // centos

5 安裝 PCRE庫
# sudo apt-get install libpcre3-dev # Ubuntu
# sudo yum install pcre-devel    # CentOS

6 安裝可選的OpenSSL
  # sudo apt-get install openssl
  # sudo apt-get install libssl-dev
   
  # sudo yum install openssl
  # sudo yum install openssl-devel

7 進入<nginx源代碼根目錄>/src/core,而後用vi打開nginx.h頭文件

8 ./configure    // 執行配置命令
  [nginx 被默認安裝在 usr/local/nginx 中]

9 執行 make install 

10 執行nginx -t   檢查配置文件是正確的

11 進入/usr/local/nginx/sbin目錄
 # ./nginx            //啓動nginx服務
 # ./nginx -s reload // 重啓服務
// 若是發現80端口已經被佔用,多是nginx服務已經啓動。
 # pkill nginx      // 殺掉nginx服務。
 # ps -ef | grep nginx     命令查看內存中是否還有nginx進程。

安裝 php

一、安裝gcc及libxml2
# yum install gcc -y 
# yum install libxml2* -y
二、下載最新PHP官方安裝包 http://php.net/downloads.php 
三、解壓安裝包
# tar zxvf php-5.6.29.tar.gz
四、安裝php 
# cd php-5.6.28  
// 最簡單的配置,(在配置phpmyadmin時,出現缺乏擴展mbstring,mysqli的問題)
# ./configure --prefix=/usr/local/php --enable-fpm
// --prefix  
// 比較全的配置 (但可能缺乏庫)
# ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-mysql=mysqlnd --with-mysqli=mysqlnd --with-pdo-mysql=mysqlnd --with-zlib --with-libxml-dir --with-gd --with-iconv --with-curl --with-png-dir --with-jpeg-dir --enable-sockets --enable-mbstring --enable-inline-optimization --enable-zend-multibyte --with-freetype-dir
// 我的本次使用的配置
# ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-mysql=mysqlnd --with-mysqli=mysqlnd 

# make && make install  // 編譯 安裝

五、拷貝生產環境的PHP配置文件
cp /home/develop/php-5.6/php.ini-production /usr/local/php/etc/php.ini
六、拷貝php-fpm配置文件 (若是沒有特殊要求,則直接使用默認配置便可)
cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf

七、啓動服務
# cd /usr/local/
// 啓動nginx服務
# ./nginx/sbin/nginx  
// 啓動php
# ./php/sbin/php-fpm -c /usr/local/php/etc/php.ini -y /usr/local/php/etc/php-fpm.conf

八、配置php和nginx 及 fastcgi
//打開nginx配置文件
# cd /usr/local
# vi nginx/conf/nginx.conf
其中有一段 修改爲 
 location ~ \.php$ {
            root           /mnt/www;
            fastcgi_pass   127.0.0.1:9000;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
            include        fastcgi.conf;
        }
// 其中 fastcgi.conf 在 /usr/localnginx/conf/中,安裝自帶的。
若是出現以下問題,就是沒有配置好:
FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream,
 client: 180.167.68.134, server: localhost, request: "GET /index.php HTTP/1.1", upstream: "fastcgi://127.0.0.1:9000", host: "*.*.*.*"

安裝 mysql

卸載 mysql

  1. ps -ef|grep mysql 查看安裝路徑php

  2. find / -name mysql 查看相關 文件包html

  3. rpm -qa | grep -i mysql 查看相關組件node

  4. rpm -ev mysql-community-server-5.6.35-2.el7.x86_64 刪除組件mysql

  5. rpm -ev mysql-community-client-5.6.35-2.el7.x86_64linux

  6. rpm -ev php-mysql-5.4.16-42.el7.x86_64nginx

  7. rpm -ev mysql-community-release-el7-5.noarchc++

  8. rpm -ev mysql-community-libs-5.6.35-2.el7.x86_64sql

  9. rpm -e --nodeps mysql-community-libs-5.6.35-2.el7.x86_64 // 強制卸載數據庫

  10. rm -rf /var/lib/mysql 刪除文件centos

  11. rm -rf /var/lib/mysql/mysql rm -rf /usr/share/mysql

  12. more /etc/passwd | grep mysql

  13. more /etc/shadow | grep mysql 刪除組,用戶

  14. more /etc/group | grep mysql 刪除組,用戶

  15. userdel mysql 刪除用戶

  16. groupdel mysql 刪除組

  17. rpm -qa | grep -i mysql 確認是否卸載

安裝 mysql

  1. 下載 MySQL-5.6.35-1.linux_glibc2.5.x86_64.rpm-bundle.tar

  2. 解壓 tar -xvf MySQL-5.6.35-1.linux_glibc2.5.x86_64.rpm-bundle.tar

  3. cd MySQL-5.6.35 // 改文件名爲 MySQL-5.6.35

  4. yum install MySQL-shared-compat-5.6.35-1.linux_glibc2.5.x86_64.rpm # 安裝 RHEL兼容包

  5. yum install MySQL-server-5.6.35-1.linux_glibc2.5.x86_64.rpm # MySQL服務端程序

  6. yum install MySQL-client-5.6.35-1.linux_glibc2.5.x86_64.rpm # MySQL客戶端程序

  7. yum install MySQL-devel-5.6.35-1.linux_glibc2.5.x86_64.rpm # MySQL的庫和頭文件

  8. yum install MySQL-shared-5.6.35-1.linux_glibc2.5.x86_64.rpm # MySQL的共享庫

  9. cat /root/.mysql_secret配置MySQL登陸密碼
    // 獲取MySQL安裝時生成的隨機密碼 爲 2M*8c

  10. service mysql start # 啓動MySQL服務

  11. mysql -uroot -p # 進入MySQL,

  12. 使用以前獲取的隨機密碼

  13. SET PASSWORD FOR 'root'@'localhost' = PASSWORD('mypassword');
    // 在MySQL命令行中設置root帳戶的密碼爲mypassword

  14. quit # 退出MySQL命令行

  15. service mysql restart # 從新啓動MySQL服務

yum 安裝 mysql

  1. yum install libaio # 安裝libaio依賴包

  2. wget http://dev.mysql.com/get/mysq...

  3. yum localinstall mysql-community-release-el7-5.noarch.rpm

  4. yum install mysql-community-server

  5. 啓動和關閉 MySQL Server

  6. systemctl start mysqld //啓動 MySQL Server

  7. systemctl status mysqld // 查看 MySQL Server 狀態

  8. systemctl stop mysqld //關閉 MySQL Server

  9. 防火牆設置 firewall-cmd(推薦)centos 7才能夠

  10. firewall-cmd --permanent --zone=public --add-port=3306/tcp

  11. firewall-cmd --permanent --zone=public --add-port=3306/udp
    // 就開放了相應的端口。

  12. firewall-cmd --reload //使最新的防火牆設置規則生效

  13. 重置mysql密碼

一、systemctl start mysqld 先啓動
  二、mysql_secure_installation  安全設置 (沒有密碼 按enter 進入)
     Set root password? [Y/n] y        [設置root用戶密碼]
     Remove anonymous users? [Y/n] y            [刪除匿名用戶]
     Disallow root login remotely? [Y/n] n      [禁止root遠程登陸]
     Remove test database and access to it? [Y/n] y   [刪除test數據庫]
     Reload privilege tables now? [Y/n] y        [刷新權限]
 三、新建數據庫
    //登陸MYSQL(有ROOT權限)。這裏我以ROOT身份登陸
     [root@iZ28gvqe4biZ ~]# mysql -u root -p
    //首先爲用戶建立一個數據庫hivemeta
    mysql  > create database hivemeta;
    mysql  > use hivemeta
    //受權hdp用戶擁有hivemeta數據庫的全部權限。
    mysql  > grant all privileges on *.* to hdp@"%" identified by "hdp" with grant option;
    //刷新系統權限表
    mysql  > flush privileges;
    mysql  > use hivemeta;
    //mysql/hive字符集問題
    mysql  > alter database hivemeta character set latin1;

安裝 phpMyAdmin

  1. 下載 phpMyAdmin

  2. tar zxvf php-5.6.5.2.all-language.tar.gz // 解壓

  3. 訪問 phpMyAdmin/index.php

問題一 添加mbstring擴展

# cd /usr/src/php-5.6.29/ext/mbstring
# /usr/local/php/bin/phpize
# ./configure --with-php-config=/usr/local/php/bin/php-config
# make && make install
# echo ‘extension=mbstring.so' >>/usr/local/php/lib/php.ini
//或者打開 php.ini,直接添加extension=mbstring.so字段
# 重啓服務器

問題二 添加 mysqli 擴展

# cd /usr/src/php-5.6.29/ext/mysqli
# /usr/local/php/bin/phpize
# ./configure --with-php-config=/usr/local/php/bin/php-config
# make && make install
# 這樣會在 /usr/local/php/lib/php/extensions/no-debug-non-ztszh中生成 mysqli.so文件
# echo ‘extension=mysqli.so' >>/usr/local/php/lib/php.ini
# 或者打開 php.ini,直接添加extension=mysqli.so字段

# 網絡上另外一種配置是
# ./configure --with-php-config=/usr/local/php/bin/php-config –-with-mysql=/usr/lib64/mysql/
# ./configure --with-php-config=/usr/local/php/bin/php-config --with-mysqli=/usr/lib64/mysql/bin/mysql_config
# 這個是針對mysql5.5以前。其中-with-mysql指的是mysql的安裝路徑。如今mysql5.6默認的安裝在/usr/lib64/mysql/,可是沒有mysql_config文件。

錯誤

打開 phpMyAdmin/index.php出現提示 You are using PHP’s deprecated ‘mysql’ extension,

解決:
在phpmyadmin中config.inc.php修改:
$cfg'Servers'['extension'] = 'mysqli';

執行PHP配置命令./configure 時提示如下錯誤:

checking for OS + Linux 2.6.32-431.el6.x86_64 x86_64
checking for C compiler ... not found
解決:
yum -y install gcc gcc-c++ autoconf automake make

使用SFTP錯誤:

Received unexpected end-of-file from SFTP server解決方法:vi /etc/ssh/sshd_config 刪除Subsystem sftp /usr/libexec/openssh/sftp-server前面的"#",保存退出,重啓SSHservice sshd restart 而後從新鏈接FTP測試

相關文章
相關標籤/搜索