安装lnmp,并安装经典的wordpress
一. 安装nginx
1.安装nginx源
yum localinstall http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
2.安装nginx
yum install nginx
3.启动nginx
systemctl start nginx
4.配置nginx开机自启动
systemctl enable nginx
5.输入ip,看到nginx欢迎界面,安装成功
ps:默认配置文件路径 /etc/nginx/nginx.conf 默认log目录:/var/log/nginx/ 默认静态目录:/usr/share/nginx/html
二. 安装mysql
1.安装mysql源
yum localinstall http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm
2.安装mysql
yum install mysql-community-server
3.安装mysql的开发包
yum install mysql-community-devel
4.启动mysql
systemctl start mysqld
5.获取mysql默认生成的密码
grep 'temporary password' /var/log/mysqld.log
输出结果为:
2016-12-26T07:56:57.590740Z 1 [Note] A temporary password is generated for root@localhost: 密码
6.登录mysql换成自己的密码
mysql -u root -p
7.切换密码
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码';
8.重启mysql服务
systemctl restart mysqld
三. 安装php7
1.下载php7源码包
wget http://cn2.php.net/distributions/php-7.1.0.tar.gz
2.解压源码包
tar zxvf php-7.1.0.tar.gz
3.安装php依赖包
yum install libxml2 libxml2-devel openssl openssl-devel bzip2 bzip2-devel libcurl libcurl-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel gmp gmp-devel libmcrypt libmcrypt-devel readline readline-devel libxslt libxslt-devel
4.配置configure
./configure \ --prefix=/usr/local/php \ --with-config-file-path=/etc \ --enable-fpm \ --with-fpm-user=nginx \ --with-fpm-group=nginx \ --enable-inline-optimization \ --disable-debug \ --disable-rpath \ --enable-shared \ --enable-soap \ --with-libxml-dir \ --with-xmlrpc \ --with-openssl \ --with-mcrypt \ --with-mhash \ --with-pcre-regex \ --with-sqlite3 \ --with-zlib \ --enable-bcmath \ --with-iconv \ --with-bz2 \ --enable-calendar \ --with-curl \ --with-cdb \ --enable-dom \ --enable-exif \ --enable-fileinfo \ --enable-filter \ --with-pcre-dir \ --enable-ftp \ --with-gd \ --with-openssl-dir \ --with-jpeg-dir \ --with-png-dir \ --with-zlib-dir \ --with-freetype-dir \ --enable-gd-native-ttf \ --enable-gd-jis-conv \ --with-gettext \ --with-gmp \ --with-mhash \ --enable-json \ --enable-mbstring \ --enable-mbregex \ --enable-mbregex-backtrack \ --with-libmbfl \ --with-onig \ --enable-pdo \ --with-mysqli=mysqlnd \ --with-pdo-mysql=mysqlnd \ --with-zlib-dir \ --with-pdo-sqlite \ --with-readline \ --enable-session \ --enable-shmop \ --enable-simplexml \ --enable-sockets \ --enable-sysvmsg \ --enable-sysvsem \ --enable-sysvshm \ --enable-wddx \ --with-libxml-dir \ --with-xsl \ --enable-zip \ --enable-mysqlnd-compression-support \ --with-pear \ --enable-opcache
安装遇到如下错误:
configure: error: in `/root/php-7.1.0': configure: error: no acceptable C compiler found in $PATH
原因:
缺少c的编译器
解决:
安装c编译器 yum install gcc gcc++
然后重新执行上述configure,安装成功
5.编译与安装
make && make install
6.添加 PHP 命令到环境变量
vim /etc/profile 在末尾加入 PATH=$PATH:/usr/local/php/bin; export PATH
7.使改动立即生效执行
source /etc/profile
输入php -v
安装成功
8.配置php-fpm
cp php.ini-production /etc/php.ini cp /usr/local/php/etc/php-fpm.conf.default /usr/local/php/etc/php-fpm.conf cp /usr/local/php/etc/php-fpm.d/www.conf.default /usr/local/php/etc/php-fpm.d/www.conf cp sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm chmod +x /etc/init.d/php-fpm
9.启动php-fpm
/etc/init.d/php-fpm start
10. 加入服务,设置开机自动启动
chmod a+x /etc/init.d/php-fpm #添加执行权限
chkconfig --add php-fpm #加入服务 chkconfig php-fpm on #开机自启动
11.配置php记录log信息
vim /etc/php.ini 修改以下参数 display_errors = Off #关闭错误提示 log_errors = On #开启记录日志 error_log = /var/log/php/php_errors.log #日志文件路径 完成后保存
查看php.ini 文件
配置成功,故意乱输,发现并没有记录到日志,发现是因为权限问题,因为我用root运行的php,但是确用其他用户执行的
解决:
vim /usr/local/php/etc/php-fpm.conf 在末尾添加: user=执行用户 group=执行用户组 保存退出 /etc/init.d/php-fpm restart #重启php-fpm 解决问题
四. 配置nginx
1.在conf.d中更新test.conf
server{ listen 80; server_name 域名或ip; root 项目路径; location / { index index.php index.html index.htm; #如果请求既不是一个文件,也不是一个目录,则执行一下重写规则 if (!-e $request_filename) { #地址作为将参数rewrite到index.php上。 rewrite ^/(.*)$ /index.php/$1; #若是子目录则使用下面这句,将subdir改成目录名称即可。 #rewrite ^/subdir/(.*)$ /subdir/index.php/$1; } } #proxy the php scripts to php-fpm location ~ \.php { include fastcgi_params; ##pathinfo支持start #定义变量 $path_info ,用于存放pathinfo信息 set $path_info ""; #定义变量 $real_script_name,用于存放真实地址 set $real_script_name $fastcgi_script_name; #如果地址与引号内的正则表达式匹配 if ($fastcgi_script_name ~ "^(.+?\.php)(/.+)$") { #将文件地址赋值给变量 $real_script_name set $real_script_name $1; #将文件地址后的参数赋值给变量 $path_info set $path_info $2; } #配置fastcgi的一些参数 fastcgi_param SCRIPT_FILENAME $document_root$real_script_name; fastcgi_param SCRIPT_NAME $real_script_name; fastcgi_param PATH_INFO $path_info; ###pathinfo支持end fastcgi_intercept_errors on; fastcgi_pass 127.0.0.1:9000; } }
2. 重启nginx
systemctl restart nginx
在项目目录新建php文件,输出phpinfo(); 访问 test.域名.com php调用成功
五.安装phpmyadmin
1.下载最新版到服务器,并解压,修改名字为phpmyadmin
2.输入连接,登录,发现无法登陆,提示如下错误,socket出错了
原因:
没有将mysql.sock的路径在php.ini中配置
#查找mysql.sock位置 find / -name mysql.sock #得到项目路径,我这边是 /var/lib/mysql/mysql.sock vim /etc/php.ini #打开php.ini,找到 mysqli.default_socket 修改 mysqli.default_socket = /var/lib/mysql/mysql.sock;#换成搜出来的目录 #保存退出 /etc/inid.t/php-fpm restart #重启服务
再次尝试,登录成功,问题解决
六.安装wordpress
1.wget获取到最新版本的wordpress,下载到服务器,并解压
wget https://cn.wordpress.org/wordpress-4.7-zh_CN.tar.gz tar jxvf wordpress-4.7-zh_CN.tar.gz
2.按照提示一步一步安装,很简单
ps:安装完毕后,安装插件遇到了问题,提示要ftp权限
要执行请求的操作,WordPress需要访问您网页服务器的权限。 请输入您的FTP登录凭据以继续。 如果您忘记了您的登录凭据(如用户名、密码),请联系您的网站托管商。
解决:
修改wp-config.php文件,在末尾添加如下代码 define("FS_METHOD", "direct"); define("FS_CHMOD_DIR", 0777); define("FS_CHMOD_FILE", 0777); 修改wordpress目录下wp-content目录权限 chmod -R 777 wp-content/
原文链接:https://www.cnblogs.com/pangziyibudong/p/6223076.html