LNMP部署
L=linux N=nginx m=mysql p=php
和lamp一样,只不过是apache换成了nginx唯一的区别就是,nginx是不绑定php的,所以在部署php的时候会比较麻烦。而apache天生就是和php联动的,所以很容易就部署成功。
mysql的部署
mysql本身的部署并没有什么区别,直接解压安装包之后进行编译然后二进制转换。
1)创建用户组和用户名
groupadd mysql 创建组名
useradd -M -s /sbin/nolgin mysql -g mysql 创建绑定用户名
2)进入安装包进行编译(需要进行cmake的编译)
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DSYSCONFDIR=/etc -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all
3)make && make install二进制转换
4)cp support-files/my-default.cnf /etc/my.cnf 复制文件
5)/usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/ 初始化数据库
6)echo “PATH=$PATH:/usr/local/mysql/bin” >> /etc/profile 更改环境变量
7)刷新配置文件 source /etc/profile
8)cp support-files/mysql.server /etc/init.d/mysqld 复制文件从而便捷操作
9)chkconfig --add mysqld
service mysqld start 启动mysql
php部署
这是重中之重,由于php不能默认兼容nginx,所以要手动更改很多文件。首先需要下载依赖包:yum install -y apr apr-devel cyrus-sasl cyrus-sasl-devel expat-devel libdb-devel openldap-devel apr-util-devel apr-util pcre-devel pcre zlib-devel
yum install -y libcurl-devel
1)进入php安装包
./configure --prefix=/usr/local/php5 --with-gd --with-zlib --with-mysql --with-config-file-path=/usr/local/php5 --enable-mbstring --enable-fpm
其实与之前的并无太大区别,只不过取消了与apache的关联(也可以添加),而后进行make && make install进行二进制转换
——————————————————————————————
错误1:configure: error: Please reinstall the libcurl distribution -
easy.h should be in /include/curl/
解决办法:
yum install -y libcurl-devel
重新编译:make
错误2:/usr/bin/ld: TSRM/.libs/TSRM.o: undefined reference to symbol ‘pthread_sigmask@@GLIBC_2.2.5’/usr/lib64/libpthread.so.0: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
make: *** [sapi/cli/php] 错误 1
解决办法:
vim Makefile
搜索-lcrypt在其后面加上 -lpthread
错误3:collect2: error: ld returned 1 exit status
make: *** [sapi/cli/php] 错误 1
解决办法:
make clean && make
问题到这里就可以编译成功进行安装了!
make install
2)cp php.ini-development /usr/local/php5/php.ini,将范本变成配置文件。
3)编写配置文件php.ini更改short_open_tag = On
4)cd /usr/local/php5/etc更改配置文件名字:mv php-fpm.conf.default php-fpm.conf
5)找到user关键词来更改所属内容为nginx
6) ln -s /usr/local/php5/bin/* /usr/local/bin/
ln -s /usr/local/php5/sbin/* /usr/local/sbin/ 将php文档中的bin和sbin软连接内容到 相应目录
7)输入php-fpm直接启动
8)进入nginx的配置文件进行修改
两种方式:
一:后续添加输入两段话句:
location ~ .php$ {
root html;
index index.php;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fastcgi.conf;
}
location = /{
rewrite (.*) /index.php;
}
这样的话,解析的页面就是直接进行动态源的分析,企业中最常用的就是这一种,因为在点击量较大的如今社会,会比较简化网页的跳转流程,从而提升网页跳转的速度。
二:直接追加index.php,然后再后续追加一段话。
如果是采用第二种方法,那么一切都是以静态网页源为先,这样的话如果是动态php网页,那么它的解析流程就是现在静态查询有没有php,如果有php的话,在跳转回动态来进行部署,一旦流量增大,那么会造成网页的卡顿。
9)进入网页部署的目录chown nginx:nginx ./*将网页动态文件包更改成nginx所属,否则有一些跳转的动态会没有权限
10)验证
备注
如果要制作虚拟主机,那么也是用这种格式来制作php网页,如果碰到圖片加载不出来的情况,首先要考虑配置文件是否写错。
alias的用法
alias主要是用来设置命令的别名,主要格式有 alias 你要设置的名字 =命令
这样的话直接输入该名字就可以使用命令
错误:
如果说显示libpng缺失,那么需要下载该软件
yum install -y libpng*