####centos 7.2 通过源码编译安装nginx####
第一步:安装编译所需工具。命令如下:
p { margin-bottom: 0.25cm; direction: ltr; line-height: 120%; text-align: justify; orphans: 0; widows: 0 }
p.western { font-family: "Calibri", serif; font-size: 10pt }
p.cjk { font-family: "宋体"; font-size: 10pt }
p.ctl { font-family: ; font-size: 12pt }
a:link { color: #0000ff }
sudo yum install gcc
p { margin-bottom: 0.25cm; direction: ltr; line-height: 120%; text-align: justify; orphans: 0; widows: 0 }
p.western { font-family: "Calibri", serif; font-size: 10pt }
p.cjk { font-family: "宋体"; font-size: 10pt }
p.ctl { font-family: ; font-size: 12pt }
a:link { color: #0000ff }
第二步:安装依赖包
命令如下:【
sudo yum install zlib zlib-devel openssl openssl-devel pcre pcre-devel
】
- zlib: 为nginx提供gzip模块,需要zlib库支持,传输数据打包,省流量(但消耗资源)
- openssl: 为nginx提供ssl功能
- pcre: 为支持地址重写rewrite功能
第三步:下载nginx-1.12.0.tar.gz包
http://nginx.org/en/download.html
命令如下:[
cd
/usr/local/src
wget
http://nginx.org/download/nginx-1.12.0.tar.gz
tar
-xvzf nginx-1.12.0.tar.gz
cd
nginx-1.12.0/
]
第四步:创建用来运行nginx的用户及组
【
sudo groupadd
nginx
sudo useradd
-g nginx -M nginx –s /sbin/nologin
】
-g参数为nginx用户指定了一个组。-M参数保证其不自动生成home目录。
第五步:编译源代码:
先使用./configure
–help 查看编译帮助:
命令如下:【
./configure
\
--sbin-path=/usr/local/nginx/nginx \
--conf-path=/usr/local/nginx/nginx.conf
\
--pid-path=/usr/local/nginx/nginx.pid
\
--with-http_ssl_module
】
第六步:执行make
完成安装
编译好的nginx可以通过 /usr/local/nginx/nginx -V
(具体路径以安装的为主)
查看编译时候的参数
h2 { margin-top: 0.49cm; margin-bottom: 0.49cm; direction: ltr; text-align: left; orphans: 0; widows: 0; page-break-after: auto }
h2.western { font-family: "宋体", serif }
h2.cjk { font-family: "宋体" }
h2.ctl { font-family: "宋体"; font-weight: normal }
h1 { margin-top: 0.49cm; margin-bottom: 0.49cm; direction: ltr; text-align: left; orphans: 0; widows: 0; page-break-after: auto }
h1.western { font-family: "宋体", serif }
h1.cjk { font-family: "宋体"; font-size: 24pt }
h1.ctl { font-family: "宋体"; font-size: 24pt; font-weight: normal }
p { margin-bottom: 0.25cm; direction: ltr; line-height: 120%; text-align: justify; orphans: 0; widows: 0 }
p.western { font-family: "Calibri", serif; font-size: 10pt }
p.cjk { font-family: "宋体"; font-size: 10pt }
p.ctl { font-family: ; font-size: 12pt }
a:link { color: #0000ff }
Nginx+Center OS 7.2 开机启动设置
centos 7以上是用Systemd进行系统初始化的,Systemd 是 Linux 系统中最新的初始化系统(init),它主要的设计目标是克服 sysvinit 固有的缺点,提高系统的启动速度。
Systemd服务文件以.service结尾,比如现在要建立nginx为开机启动,如果用yum
install命令安装的,yum命令会自动创建nginx.service文件,直接用命令systemcel
enable nginx.service设置开机启动即可。
在这里我是用源码编译安装的,所以要手动创建nginx.service服务文件。
开机没有登陆情况下就能运行的程序,存在系统服务(system)里,即:
/lib/systemd/system/
步骤如下:
第一步:在系统服务目录里创建nginx.service文件
vi
/lib/systemd/system/nginx.service
内容如下:
[Unit]
Description=nginx
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/nginx/nginx
ExecReload=/usr/local/nginx/nginx
-s reload
ExecStop=/usr/local/nginx/nginx
-s quit
PrivateTmp=true
[Install]
WantedBy=multi-user.target
[Unit]:服务的说明
Description:描述服务
After:描述服务类别
[Service]服务运行参数的设置
Type=forking是后台运行的形式
ExecStart为服务的具体运行命令
ExecReload为重启命令
ExecStop为停止命令
PrivateTmp=True表示给服务分配独立的临时空间
注意:[Service]的启动、重启、停止命令全部要求使用绝对路径
[Install]运行级别下服务安装的相关设置,可设置为多用户,即系统运行级别为3
保存退出。
第二步:设置开机启动
systemctl
enable nginx.service
第三步:其他命令:
启动nginx服务
Systemctl
start nginx.service
设置开机启动
Systemctl
enable nginx.service
停止开机自启动
Systemctl
disable nginx.service
查看服务当前状态:
Systemctl
status nginx.service
重新启动服务:
Systemctl
restart nginx.service
查看所有已启动的服务:
Systemctl
list-units --type=service
腾讯云主机需要开放安全组里的80端口
Centos
7防火墙firewalld开放80端口
命令如下:【
firewall-cmd --zone=public --add-port=80/tcp --permanent
】
centos7
安装
mariadb
的正确命令
命令: yum -y install mariadb*
[[email protected] ~]# mysql
[[email protected] ~]# mysql_secure_installation
Centos7.2
编译安装PHP7
直接下载PHP7.0.2的安装包解压,编译,安装:
下载php7,并解压
$ cd
/usr/src/
$ wget
http://cn2.php.net/distributions/php-7.0.2.tar.gz
#解压
$ tar
-xzxvf php-7.0.2.tar.gz
$ cd
php-7.0.2
解压完后先不要编译,请检查是否安装了gcc ,没有的话执行yum
install gcc
检查是否安装了libxml2 ,没有的话执行yum
install libxml2
检查是否安装了libxml2-devel,没有的话执行yum
install libxml2-devel
注:因为改为用nginx了,所以编译参数中的--with-apxs2=/usr/bin/apxs去掉了,如果要配置apache用,安装PHP前,请先安装apache。
编译参数配置
‘./configure‘
‘--prefix=/usr/local/php‘ ‘--with-pdo-pgsql‘ ‘--with-zlib-dir‘
‘--with-freetype-dir‘ ‘--enable-mbstring‘ ‘--with-libxml-dir=/usr‘
‘--enable-soap‘ ‘--enable-calendar‘ ‘--with-curl‘ ‘--with-mcrypt‘
‘--with-gd‘ ‘--with-pgsql‘ ‘--disable-rpath‘
‘--enable-inline-optimization‘ ‘--with-bz2‘ ‘--with-zlib‘
‘--enable-sockets‘ ‘--enable-sysvsem‘ ‘--enable-sysvshm‘
‘--enable-pcntl‘ ‘--enable-mbregex‘ ‘--enable-exif‘ ‘--enable-bcmath‘
‘--with-mhash‘ ‘--enable-zip‘ ‘--with-pcre-regex‘ ‘--with-pdo-mysql‘
‘--with-mysqli‘ ‘--with-jpeg-dir=/usr‘ ‘--with-png-dir=/usr‘
‘--enable-gd-native-ttf‘ ‘--with-openssl‘ ‘--with-fpm-user=www-data‘
‘--with-fpm-group=www-data‘ ‘--with-libdir=/lib/x86_64-linux-gnu/‘
‘--enable-ftp‘ ‘--with-gettext‘ ‘--with-xmlrpc‘ ‘--with-xsl‘
‘--enable-opcache‘ ‘--enable-fpm‘ ‘--with-iconv‘
‘--with-xpm-dir=/usr‘
出现报错 Cannot
find OpenSSL‘s <evp.h>
则执行 yum
install openssl openssl-devel
出现报错 Please
reinstall the libcurl distribution
则执行 yum
-y install curl-devel
出现报错 jpeglib.h
not found
则执行 yum
install libjpeg.x86_64 libpng.x86_64 freetype.x86_64
libjpeg-devel.x86_64 libpng-devel.x86_64 freetype-devel.x86_64 -y
和执行yum
install libjpeg-devel
checking
for BZip2 in default path... not found
configure:
error: Please reinstall the BZip2 distribution
这是bzip2软件包没有安装
解决办法
yum
install bzip2-devel.x86_64 -y
configure:
error: xpm.h not found.
yum
install libXpm-devel
error:
Unable to locate gmp.h
Fix:
yum install gmp-devel
现象:Unable
to detect ICU prefix or /usr//bin/icu-config failed. Please verify
ICU install
prefix
and make sure icu-config works
解决办法:yum
install -y icu libicu libicu-devel
错误:mcrypt.h
not found. Please reinstall libmcrypt.
解决办法:yum
install php-mcrypt libmcrypt libmcrypt-devel
错误: configure:
error: Cannot find libpq-fe.h. Please specify correct PostgreSQL
installation path
解决办法:yum
install postgresql-devel
错误
: configure:
error: xslt-config not found. Please reinstall the libxslt >=
1.1.0 distribution
解决: yum
install libxslt-devel
配置的checking
结束后,执行:
make
clean && make && make install
安装完成后,我们要把源码包中的配置文件复制到PHP安装目录下,源码包中有两个配置 php.ini-development
php.ini-production ,看名字就知道,一个是开发环境,一个是生产环境,我们这里就复制开发环境的
cp
php.ini-development /usr/local/php/lib/php.ini
另外还需要设置环境变量
:
修改/etc/profile文件使其永久性生效,并对所有系统用户生效,在文件末尾加上如下两行代码
PATH=$PATH:/usr/local/php/bin
export
PATH
然后执行
命令 source
/etc/profile
php
-v 就可以看到PHP版本信息了。
此时还需要配置PHP-fpm:
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
/usr/src/php-7.0.2/sapi/fpm/init.d.php-fpm /etc/init.d/php-fpm
chmod
+x /etc/init.d/php-fpm
启动php-fpm:
/etc/init.d/php-fpm
start
如果出现错误:ERROR:
[pool www] cannot get uid for user ‘www-data‘
则新建www-data
用户组:
- groupadd
www-data - useradd
-g www-data www-data
然后再启动php-fpm