简单构建Linux环境下Nginx+MySQL+PHP

依赖:首次安装一下依赖,这些依赖都是在安装其他开发环境时需要用到的
yum -y install gcc automake autoconf libtool make gcc-c++ glibc

yum -y install libmcrypt-devel mhash-devel libxslt-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel  krb5 krb5-devel libidn libidn-devel openssl openssl-devel  pcre-devel



安装nginx:
tar -zxvf nginx-1.9.9.tar.gz
cd nginx-1.9.9
./configure --prefix=/usr/local/nginx
make && make install

创建nginx用户:
groupadd www
useradd www -g www

修改nginx.conf中的user用户为www,server加上服务器ip/域名

启动nginx:
/usr/local/nginx/sbin/nginx
查看进程:
ps- aux | grep nginx
查看端口:
netstat -ntlp  可以看到80端口被nginx占用
浏览器访问:
nginx配置上的ip/域名访问


安装php:
tar -zxvf php-5.6.27.tar.gz
cd php-5.6.27
./configure --prefix=/usr/local/php  --enable-fpm --with-mcrypt=/usr/local/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 --with-openssl --enable-maintainer-zts

make && make install 

若提示undefined reference to `libiconv'
解决方法:
#wget http://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.13.1.tar.gz
#tar -zxvf libiconv-1.13.1.tar.gz
#cd libiconv-1.13.1
# ./configure --prefix=/usr/local/libiconv
# make
# make install

编译的时候加上--with-iconv=/usr/local/libiconv

cp php.ini-production /usr/local/php/sbin/php.ini
修改php-fpm.conf配置:
把   ;pid = run/php-fpm.pid  前面的逗号去掉

启动php:
/usr/local/php/sbin/php-fpm
查看进程:
ps -aux | grep php

创建一个存放php代码的目录:
cd /
mkdir data1
mkdir php-code

创建一个可访问的php文件
touch index.php
vi index.php
输入内容:
<?php echo phpinfo(); ?>
:wq 退出

修改nignx.conf配置:
vi /usr/local/nginx/conf/nginx.conf
修改内容:
root  /data1/php-code     //指定根目录
index index.php  index.html index.htm     //指定默认访问文件
location ~ \.php$  {
     fastcgi_pass  127.0.0.1:9000;
     fastcgi_index  index.php;
     fastcgi_param  SCRIPT_FILENAME $document_root$fastcgi_script_name;
     include fastcgi_params;
     include fastcgi.conf;
}
:wq保存退出

重启nginx:
/usr/local/nginx/sbin/nginx -t       //检测配置是否有错
/usr/local/nginx/sbin/nginx -s reload      //重启  stop/quit/reload

浏览器访问:地址栏输入服务器ip地址  打印出phpinfo信息  若是没有 则看前面步骤是否遗漏


安装cmake: yum install -y cmake     (用户安装MySQL)


安装mysql:
前面那个是地址 这里我们获取mysql-5.6.33.tar.gz 
tar -zxvf mysql-5.6.33.tar.gz
cd mysql-5.6.33
cmake ./ -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DMYSQL_DATADIR=/usr/local/mysql/data -DSYSCONFDIR=/etc -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DMYSQL_UNIX_ADDR=/tmp/mysqld.sock -DMYSQL_TCP_PORT=3306 -DENABLED_LOCAL_INFILE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DEXTRA_CHARSETS=all -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci

make && make install


创建mysql用户:
groupadd mysql
useradd mysql -g mysql -M -s /sbin/nologin     (表示这个用户不能登录 切换)

创建用于存储MySQL数据的目录:
cd /data1
mkdir mysql
cd mysql
mkdir tmp-data (临时数据,启动时需要)
chmod -R 777 tmp-data 

给MySQL目录授权
cd /usr/local/mysql
chown -R mysql:mysql . (不要忘记后面的点 . )
scripts/mysql_install_db   --user=mysql 
在将权限付给root
chown -R root:mysql . 
chown -R mysql:mysql ./data
chmod -R ug_rwx . 

拷贝MySQL配置文件
cp support-files/my-default.cnf /etc/my.cnf
修改配置文件:在[mysql]下添加如下配置
basedir=/usr/local/mysql
datadir=/data1/mysql
tmpdir=/data1/mysql/tmp-data
#default-storage-engine=InnoDB
#explicit_defaults_for_timstamp=true

启动MySQL:
./mysql_safe --user=mysql &
查看是否启动成功:
ps -aux | grep mysql 
查看端口 3306
netstat -ntlp

启动过程中,如果‘mysql.plugin’找不到的错误  则执行
./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/data1/mysql


把MySQL启动服务加到系统服务中:
cp support-files/mysql.server /etc/init.d/mysql
复制之后就可以使用service服务
service mysql start
service mysql stop
service mysql restart


修改数据库root用户密码
cd /usr/local/mysql
./bin/mysqladmin -u root password  回车
New password: xxxxx   输入密码
Confirm New password: xxxxx     确认密码

修改完成后登陆
./bin/mysql -u root -p 
password: xxxxx

mysql>use mysql  测试   


安装pdo和pdo_mysql扩展:要先安装pdo,再安装pdo_mysql  不然会出错
cd php-5.6.27/ext/pdo
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config
make && make install

cd php-5.6.27/ext/pdo_mysql
/usr/local/php/bin/phpize
./configure --with-php-config=/usr/local/php/bin/php-config  --with-mysql-config=/usr/local/mysql
make && make install

安装完成后会在/usr/local/php/lib/php/extensions/no-debug-non-zts-xxxx/目录下出现
pdo.so  pdo_mysql.so
修改php.ini配置文件  加上pdo扩展
extension_dir=/usr/local/php/lib/php/extensions/no-debug-non-zts-xxxx/
extension=pdo.so
extension=pdo_mysql.so

使用客户端链接:
./bin/mysql -u root -p 进入mysql命令行模式,
mysql>use mysql;
mysql>GRANT ALL ON .* to root@'%' IDENTIFIED BY '***';  //允许所有用户访问mysql
mysql>

平滑重启php:
kill -SIGUSR2 `cat /usr/local/php/var/run/php-fpm.pid` 


完毕




猜你喜欢

转载自blog.csdn.net/A1585570507/article/details/79103378