手工安裝linux+nginx+mysql+php環境

前一篇咱們介紹了使用yum安裝linux+nginx+mysql+php環境php

今天公司分配了個學習主機,但能內網使用,不能訪問外網,就不能yum 安裝了
那咱們來試試手動安裝
本操做都在centos7下進行html

先檢查gcc 編輯器有沒有安裝node

gcc -v
如沒有,mysql

從CentOS7的系統安裝鏡像中取出須要的rpm包,進入"Packages"目錄,取出以下幾個:linux

mpfr-3.1.1-4.el7.x86_64.rpm
libmpc-1.0.1-3.el7.x86_64.rpm
kernel-headers-3.10.0-123.el7.x86_64.rpm
glibc-headers-2.17-55.el7.x86_64.rpm
glibc-devel-2.17-55.el7.x86_64.rpm
cpp-4.8.2-16.el7.x86_64.rpm
gcc-4.8.2-16.el7.x86_64.rpmnginx

經過XFTP上傳到服務器sql

執行安裝
rpm -ivh mpfr-3.1.1-4.el7.x86_64.rpm
rpm -ivh libmpc-1.0.1-3.el7.x86_64.rpm
rpm -ivh kernel-headers-3.10.0-123.el7.x86_64.rpm
rpm -ivh glibc-headers-2.17-55.el7.x86_64.rpm
rpm -ivh glibc-devel-2.17-55.el7.x86_64.rpm
rpm -ivh cpp-4.8.2-16.el7.x86_64.rpm
rpm -ivh gcc-4.8.2-16.el7.x86_64.rpm數據庫

下載Nginx及PCRE。
http://nginx.org/download/nginx-1.14.2.tar.gz
https://ftp.pcre.org/pub/pcre/pcre-8.41.tar.gzcentos

上傳 到服務器,編譯安裝PCRE。瀏覽器

tar -xvzf pcre-8.41.tar.gz
cd pcre-8.41
mkdir /usr/local/share/applications/pcre-8.41
./configure --prefix=/usr/local/share/applications/pcre-8.41/
make && make install

編譯安裝Nginx。
tar -xvzf nginx-1.14.2.tar.gz
cd nginx-1.14.2
./configure --prefix=/usr/local/share/applications/nginx-1.14.2/ --with-http_ssl_module

啓動Nginx

/usr/local/share/applications/nginx-1.14.2/sbin/nginx

配置防火牆開啓80端口

firewall-cmd --permanent --add-port=80/tcp
firewall-cmd --reload

設備開機自動啓用服務
參照
https://www.cnblogs.com/zhuxiangru/p/9414038.html

systemctl enable nginx.service 使nginx開機啓動

systemctl start nginx.service 啓動nginx

systemctl stop nginx.service 結束nginx

systemctl restart nginx.service 重啓nginx

安裝mysql 5.5,mysql-5.5.60-linux-glibc2.12-x86_64

下載地址http://mirrors.163.com/mysql/Downloads/MySQL-5.5/mysql-5.5.60-linux-glibc2.12-x86_64.tar.gz

因爲CentOS7自帶的是 Mariadb, 因此先來刪除他吧...

rpm -qa|grep mariadb
記住名字查到的文件名字

rpm -e --nodeps 上面查出來的文件名

刪除配置文件
rm /etc/my.cnf

解壓安裝包,
tar -xvf mysql-5.5.60-linux-glibc2.12-x86_64.tar.gz

複製到local文件夾
mv mysql-5.5.60-linux-glibc2.12-x86_64 /usr/local

修改文件夾名稱
cd /usr/local
mv mysql-5.5.60-linux-glibc2.12-x86_64 mysql-5.5.60

修改my.cnf配置文件

vi /etc/my.cnf
將如下內容添加到my.cnf

[mysql]
設置mysql客戶端默認字符集
default-character-set=utf8
socket=/var/lib/mysql/mysql.sock

[mysqld]
skip-name-resolve
設置3306端口
port = 3306
socket=/var/lib/mysql/mysql.sock
設置mysql的安裝目錄, 這裏的目錄必定要是你解壓後而且改了名的目錄喲..
basedir=/usr/local/mysql-5.5.60
設置mysql數據庫的數據的存放目錄, 這裏的目錄必定要是你解壓後而且改了名的目錄喲..
datadir=/usr/local/mysql-5.5.60/data
容許最大鏈接數
max_connections=200
服務端使用的字符集默認爲8比特編碼的latin1字符集
character-set-server=utf8
建立新表時將使用的默認存儲引擎
default-storage-engine=INNODB
lower_case_table_name=1
max_allowed_packet=16M

切換目錄到mysql中
cd /usr/local/mysql-5.5.60

添加用戶組與用戶, 這裏須要將目錄切換到mysql-5.5.60目錄

groupadd mysql
useradd -g mysql mysql
chown -R mysql:mysql ./

安裝mysql
./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql-5.5.60/ --datadir=/usr/local/mysql-5.5.60/data/

配置MYSQL

chown -R mysql:mysql data
chown 777 /etc/my.cnf
cp ./support-files/mysql.server /etc/rc.d/init.d/mysqld
chmod +x /etc/rc.d/init.d/mysqld
chkconfig --add mysqld
chkconfig --list mysqld

開啓服務

service mysqld start

這裏碰到幾個問題
開啓服務時,出錯
/etc/init.d/mysqld: line 264: cd: mysql-5.5.60: No such file or directory
解決辦法
https://blog.51cto.com/genxin/1783419

basedir 設置正確後,又出現,錯誤
[root@localhost ~]# service mysqld start
Starting MySQL.Logging to '/usr/local/mysql-5.5.60/localhost.localdomain.err'.
190608 21:24:11 mysqld_safe Directory '/var/lib/mysql' for UNIX socket file don't exists.
 ERROR! The server quit without updating PID file (/usr/local/mysql-5.5.60/localhost.localdomain.pid).

解決辦法
https://blog.csdn.net/weixin_41503704/article/details/82994661

這裏有個問題,開始說要設置my.cnf
第二個錯誤解決辦法,要刪除my.cnf,正常啓動,

????

[root@localhost ~]# service mysqld start                                               Starting MySQL SUCCESS!
PS:過後總結
第一個 錯誤,提示找不到安裝目錄
經過查詢 須要更改 /etc/init.d/mysqld文件的參數  basedir=/usr/local/mysql-5.5.60
情況依舊,經屢次償試,發現/etc/my.cnf也有basedir=mysql-5.5.60參數, 但沒有寫實際路徑,天然要出錯了
mysql啓動原理 啓動MySQL服務時,會優先在/etc/目錄下查找my.cnf
這就說明,我無 論怎麼檢查/etc/init.d/mysqld裏的路徑,情況依舊的緣由

配置PATH

vi ~/.bash_profile
在文件最後面加入如下內容,並使用:wq保存

export PATH=$PATH:/usr/local/mysql-5.5.60/bin

刷新PATH

source ~/.bash_profile

登陸mysql, 這時mysql沒有密碼, 當出現Enter password:時直接回車

mysql -uroot -p

修改root密碼

mysql> use mysql
mysql> update user set password=password('須要設置的密碼') where user='root' and host='localhost';
mysql> flush privileges;

安裝完成。

安裝PHP

下載
http://cn2.php.net/distributions/php-5.4.5.tar.gz

解壓
tar zxvf php-5.4.5.tar.gz

cd php-5.4.5

安裝

./configure --prefix=/usr/local/php --enable-fpm --with-mcrypt --enable-mbstring --disable-pdo --with-curl --disable-debug --disable-rpath --enable-inline-optimization --with-bz2 --with-zlib --enable-sockets --enable-sysvsem --enable-sysvshm --enable-pcntl --enable-mbregex --with-mhash --enable-zip --with-pcre-regex --with-mysql --with-mysqli --with-gd --with-jpeg-dir

此時出現報錯:configure: error: mcrypt.h not found. Please reinstall libmcrypt.

須要安裝 php安裝mcrypt擴展
yum命令懶人安裝
yum install libmcrypt libmcrypt-devel mcrypt mhash

去http://www.sourceforge.net下載Libmcrypt,mhash,mcrypt安裝包
libmcrypt(libmcrypt-2.5.8.tar.gz ):
mcrypt(mcrypt-2.6.8.tar.gz ):
mhash(mhash-0.9.9.9.tar.gz ):

安裝Libmcrypt

#tar -zxvf libmcrypt-2.5.8.tar.gz
#cd libmcrypt-2.5.8
#./configure
#make
#make install 說明:libmcript默認安裝在/usr/local

安裝mhash

#tar -zxvf mhash-0.9.9.9.tar.gz
#cd mhash-0.9.9.9
#./configure
#make
#make install

安裝mcrypt

#tar -zxvf mcrypt-2.6.8.tar.gz
#cd mcrypt-2.6.8
#LD_LIBRARY_PATH=/usr/local/lib ./configure
#make
#make install

PHP-FPM是一個PHP FastCGI管理器,PHP-FPM實際上是PHP源代碼的一個補丁,旨在將FastCGI進程管理整合進PHP包中。必須將它patch到你的PHP源代碼中,在編譯安裝PHP後纔可使用
php5.4已經集成在安裝包裏了,不用另行安裝

配置
cd /usr/local/php
cp etc/php-fpm.conf.default etc/php-fpm.conf
修改
vi etc/php-fpm.conf

修改
user = www-data
group = www-data

若是www-data用戶不存在,那麼先添加www-data用戶
groupadd www-data
useradd -g www-data www-data

修改nginx配置文件以支持php-fpm
修改nginx配置文件爲,nginx.conf
vi /usr/local/share/applications/nginx-1.14.2/conf/nginx.conf

第一行改爲

user www-data;

server段增長以下配置,

pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000

location ~ .php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}

建立測試php文件

在/usr/local/share/applications/nginx-1.14.2/html下建立index.php文件,輸入以下內容

<?php
echo phpinfo();?>

啓動,重啓 php-fpm 和 nginx

/usr/local/php/sbin/php-fpm 
/usr/local/share/applications/nginx-1.14.2/sbin/nginx

安裝完成,瀏覽器輸入網址 ip/index.php  能看到PHP版本信息,說明安裝成功

完
相關文章
相關標籤/搜索