赞
踩
yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel
==YUM(Yellow dog Updater, Modified)==为多个Linux发行版的前端软件包管理器
-y 是参数,默认不要确认,
rpm -ivh 包名(支持*):安装rpm包
rpm -e 包名(不支持*):卸载rpm包
//创建一个文件夹
cd /usr/local
mkdir nginx
cd nginx
//下载tar包
wget http://nginx.org/download/nginx-1.13.7.tar.gz
tar -xvf nginx-1.13.7.tar.gz
//进入nginx目录
cd /usr/local/nginx
//进入目录
cd nginx-1.13.7
//执行命令 考虑到后续安装ssl证书 添加两个模块
//(要是执行不成功请检查最开始安装的四个依赖有没有安装成功)
./configure --with-http_stub_status_module --with-http_ssl_module
// 用来编译( 从Makefile中读取指令,然后编译)
make
// 用来安装( 从Makefile中读取指令,安装到指定的位置)
make install
cd /usr/local/nginx/conf
vim nginx.conf
编辑好之后,按esc退出编辑模式,然后 :wq 进行保存退出
将端口号改成8089(随便挑个端口),因为可能apeache占用80端口,apeache端口尽量不要修改,我们选择修改nginx端口。
cd /usr/local/nginx/sbin
./nginx
/usr/local/nginx/sbin/nginx -s reload
systemctl restart nginx
查看是否启动成功命令:ps -ef | grep nginx
centOS6及以前版本使用命令: systemctl stop iptables.service
centOS7关闭防火墙命令: systemctl stop firewalld.service
若是不清楚lunix 系统版本用
1、lsb_release -a,即可列出所有版本信息:
systemctl start firewalld.service //示例,启动防火墙,.service可以省略
systemctl stop firewalld //示例,停止防火墙
systemctl restart firewalld //示例,重启防火墙
systemctl status firewalld //示例,查看防火墙状态
systemctl enable firewalld //示例,设置开机启动防火墙
systemctl disable firewalld //示例,取消开机启动防火墙
这个命令适用于所有的Linux发行版,包括RedHat、SUSE、Debian…等发行版。
2、cat /etc/redhat-release,这种方法只适合Redhat系的Linux:
[root@S-CentOS home]# cat /etc/redhat-release
CentOS release 6.5 (Final)
3、cat /etc/issue,此命令也适用于所有的Linux发行版。
开放8806端口:
firewall-cmd --zone=public --add-port=8806/tcp --permanent
查询端口号80 是否开启:
firewall-cmd --query-port=8806/tcp
重启防火墙:
firewall-cmd --reload
将dist.zip文件直接上传到目录:/usr/local/nginx/html
这是nginx默认的页面路径,直接替换里面的文件就行
通过执行 自动化脚本
#!/bin/bash
unzip -o ../../../usr/local/nginx/html/dist.zip -d /usr/local/nginx/html
echo 'unzip dist.zip success'
rm -rf ../../../usr/local/nginx/html/dist.zip
echo 'delete dist.zip success'
直接vim src/os/unix/ngx_user.c把它报错的这一句注释掉:
如果还有类似的错误直接再次注释即可。
去掉-Werror
再重新make && make install 即可
防火墙导致服务不正常的问题:
在服务器安装某些服务之后,服务无法连接、无法正常启动等情况。
查看下系统防火墙有没开放相关的服务端口。
(linux系统防火墙开放相关端口后还要重启防火墙,重启防火墙后防火墙规则才会生效)。
1、启动FirewallD服务命令:
systemctl start firewalld.service #开启服务
systemctl enable firewalld.service #设置开机启动
2、查看FirewallD防火墙状态:
systemctl status firewalld
3、现在防火墙 FirewallD 就已经正常运行了。
chmod用于改变文件或目录的访问权限。用户用它控制文件或目录的访问权限。该命令有两种用法。一种是包含字母和操作符表达式的文字设定法;另一种是包含数字的数字设定法。
-rw------- (600) -- 只有属主有读写权限。
-rw-r--r-- (644) -- 只有属主有读写权限;而属组用户和其他用户只有读权限。
-rwx------ (700) -- 只有属主有读、写、执行权限。
-rwxr-xr-x (755) -- 属主有读、写、执行权限;而属组用户和其他用户只有读、执行权限。
-rwx--x--x (711) -- 属主有读、写、执行权限;而属组用户和其他用户只有执行权限。
-rw-rw-rw- (666) -- 所有用户都有文件读、写权限。这种做法不可取。
-rwxrwxrwx (777) -- 所有用户都有读、写、执行权限。更不可取的做法。
https://www.runoob.com/linux/linux-comm-chmod.html 菜鸟教程
systemctl restart nginx
命令不生效Unit nginx service not found
错误的原因就是没有添加nginx服务,所以启动失败。
解决方法:
1. 在/root/etc/init.d/目录下新建文件,文件名为nginx
或者用命令在根目录下执行:# vim /etc/init.d/nginx (注意vim旁边有一个空格)
2. 插入以下代码
#!/bin/sh # nginx - this script starts and stops the nginx daemin # # chkconfig: - 85 15 # description: Nginx is an HTTP(S) server, HTTP(S) reverse \ # proxy and IMAP/POP3 proxy server # processname: nginx # config: /usr/local/nginx/conf/nginx.conf # pidfile: /usr/local/nginx/logs/nginx.pid # Source function library. . /etc/rc.d/init.d/functions # Source networking configuration. . /etc/sysconfig/network # Check that networking is up. [ "$NETWORKING" = "no" ] && exit 0 nginx="/usr/local/nginx/sbin/nginx" prog=$(basename $nginx) NGINX_CONF_FILE="/usr/local/nginx/conf/nginx.conf" lockfile=/var/lock/subsys/nginx start() { [ -x $nginx ] || exit 5 [ -f $NGINX_CONF_FILE ] || exit 6 echo -n $"Starting $prog: " daemon $nginx -c $NGINX_CONF_FILE retval=$? echo [ $retval -eq 0 ] && touch $lockfile return $retval } stop() { echo -n $"Stopping $prog: " killproc $prog -QUIT retval=$? echo [ $retval -eq 0 ] && rm -f $lockfile return $retval } restart() { configtest || return $? stop start } reload() { configtest || return $? echo -n $"Reloading $prog: " killproc $nginx -HUP RETVAL=$? echo } force_reload() { restart } configtest() { $nginx -t -c $NGINX_CONF_FILE } rh_status() { status $prog } rh_status_q() { rh_status >/dev/null 2>&1 } case "$1" in start) rh_status_q && exit 0 $1 ;; stop) rh_status_q || exit 0 $1 ;; restart|configtest) $1 ;; reload) rh_status_q || exit 7 $1 ;; force-reload) force_reload ;; status) rh_status ;; condrestart|try-restart) rh_status_q || exit 0 ;; *) echo $"Usage: $0 {start|stop|status|restart|condrestart|try-restart|reload|force-reload|configtest}" exit 2 esac
按下esc 键 输入 :wq
3.用命令进入此目录
cd /etc/init.d
4. 依此执行以下命令
chmod 755 /etc/init.d/nginx
hkconfig --add nginx (注意add前面是两个短横线-)
5. 开启nginx
service nginx start
location / {
root /appdata/hfmp/dist;
index index.html index.htm;
fastcgi_buffers 256 128k;
chunked_transfer_encoding off;
}
./nginx -s reload # 启动
chmod -777 -R proxy # 没权限开权限
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。